Fix off-by-one in new three-way-merge updates
authorLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 6 Jun 2005 06:38:18 +0000 (23:38 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 6 Jun 2005 06:38:18 +0000 (23:38 -0700)
That's the final one ("Yeah, sure, we believe you").

Anyway, at least the tests pass, which is not saying a lot, since they
don't end up testing all the new the things that the new merge world
order tries to do. But hopefully we're now at least not any worse off
than we were before the rewrite.

read-tree.c

index b72ee1c..90c0ee5 100644 (file)
@@ -146,7 +146,7 @@ static void trivially_merge_cache(struct cache_entry **src, int nr)
                }
                if (old && !path_matches(old, ce))
                        reject_merge(old);
-               if (nr > 2 && (result = merge_entries(ce, src[0], src[1])) != NULL) {
+               if (nr > 1 && (result = merge_entries(ce, src[0], src[1])) != NULL) {
                        result->ce_flags |= htons(CE_UPDATE);
                        /*
                         * See if we can re-use the old CE directly?