[MERGE] 3-number dotted revnos

John Arbash Meinel john at arbash-meinel.com
Tue Jan 15 21:40:54 GMT 2008


Ian Clatworthy wrote:

...


> Tests. The only bit I don't understand is how the "merge depth" is
> calculated by MergeSorter. In particular, in test_merge_sort_race, why
> is the merge depth of C 1 (and not 2)? (Might be best to explain this
> over IRC or phone as it's probably a bug in my brain.) Otherwise, all
> the new tests and changes look good to me.
> 
> Ian C.
> 

As near as I can tell, because it is a degenerate case. I didn't change 
any of the merge depth code, so it is a carry-over from before. For the 
graph:

A
|
B-.
|\ \
| | C
| |/
| D
|/
E

I *think* what is happening is that both C=>B and D=>B are returning 
right away, because we have already evaluated B. And the code uses the 
check of "did this node have to step along its left-hand parent" to 
determine if the right-hand nodes get a deeper merge depth.

Because if we add an extra node:

A
|
B-.
|\ \
| X C
| |/
| D
|/
E

Then suddenly C gets a depth of 2 rather than 1. (which is part of the 
test).

I wasn't going to worry about it too much. If you want, I can file a bug 
report on it.

John
=:->




More information about the bazaar mailing list