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 c24dc54..8b2db1d 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 fbd3658..84b8ddd 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