Code

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 b72ee1c54c092067da0bc35492ae9dead5e990bb..90c0ee522da6a33e3b6f87aa0afa72f9d8676757 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?