apply: --build-fake-ancestor expects blobs
authorJunio C Hamano <gitster@pobox.com>
Tue, 3 Jul 2012 17:01:22 +0000 (10:01 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 9 Jul 2012 23:42:22 +0000 (16:42 -0700)
The "index" line read from the patch to reconstruct a partial
preimage tree records the object names of blob objects.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/apply.c
t/t1512-rev-parse-disambiguation.sh

index c24dc546d0cc3f223c40c12aa20dc75eff13d4f9..8b2db1d76b60638e706c12f0cdfb264f089f0588 100644 (file)
@@ -3203,7 +3203,7 @@ static void build_fake_ancestor(struct patch *list, const char *filename)
                name = patch->old_name ? patch->old_name : patch->new_name;
                if (0 < patch->is_new)
                        continue;
-               else if (get_sha1(patch->old_sha1_prefix, sha1))
+               else if (get_sha1_blob(patch->old_sha1_prefix, sha1))
                        /* git diff has no index line for mode/type changes */
                        if (!patch->lines_added && !patch->lines_deleted) {
                                if (get_current_sha1(patch->old_name, sha1))
index fbd3658ca8ed8415a37e593f89c82a4833965bba..84b8dddbe3774b27c612b19940f7674823750d33 100755 (executable)
@@ -54,7 +54,7 @@ test_expect_success 'disambiguate tree-ish' '
        git rev-parse --verify 000000000:a0blgqsjc
 '
 
-test_expect_failure 'disambiguate blob' '
+test_expect_success 'disambiguate blob' '
        sed -e "s/|$//" >patch <<-EOF &&
        diff --git a/frotz b/frotz
        index 000000000..ffffff 100644