commit-tree: the command wants a tree and commits
authorJunio C Hamano <gitster@pobox.com>
Tue, 3 Jul 2012 17:03:38 +0000 (10:03 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 9 Jul 2012 23:42:22 +0000 (16:42 -0700)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/commit-tree.c
t/t1512-rev-parse-disambiguation.sh
index 164b655df93fea1ec2f63f5238c1ad7a377c8385..cb982c550332abc846eee690f8e33c66db742053 100644 (file)
@@ -48,8 +48,8 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
        if (argc < 2 || !strcmp(argv[1], "-h"))
                usage(commit_tree_usage);
 
-       if (get_sha1(argv[1], tree_sha1))
-               die("Not a valid object name %s", argv[1]);
+       if (get_sha1_tree(argv[1], tree_sha1))
+               die("Not a valid tree object name %s", argv[1]);
 
        for (i = 1; i < argc; i++) {
                const char *arg = argv[i];
@@ -57,7 +57,7 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
                        unsigned char sha1[20];
                        if (argc <= ++i)
                                usage(commit_tree_usage);
-                       if (get_sha1(argv[i], sha1))
+                       if (get_sha1_commit(argv[i], sha1))
                                die("Not a valid object name %s", argv[i]);
                        assert_sha1_type(sha1, OBJ_COMMIT);
                        new_parent(lookup_commit(sha1), &parents);
@@ -104,7 +104,7 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
                        continue;
                }
 
-               if (get_sha1(arg, tree_sha1))
+               if (get_sha1_tree(arg, tree_sha1))
                        die("Not a valid object name %s", arg);
                if (got_tree)
                        die("Cannot give more than one trees");
index 84b8dddbe3774b27c612b19940f7674823750d33..dc56f81cb7e90e68ba79fcedf57aafcefebfc0c6 100755 (executable)
@@ -75,7 +75,7 @@ test_expect_success 'disambiguate blob' '
        test_cmp a0blgqsjc actual
 '
 
-test_expect_failure 'disambiguate tree' '
+test_expect_success 'disambiguate tree' '
        commit=$(echo "d7xm" | git commit-tree 000000000) &&
        test $(git rev-parse $commit^{tree}) = $(git rev-parse 0000000000cdc)
 '
@@ -97,7 +97,7 @@ test_expect_success 'disambiguate commit-ish' '
        git rev-parse --verify 000000000^0
 '
 
-test_expect_failure 'disambiguate commit' '
+test_expect_success 'disambiguate commit' '
        commit=$(echo "j9xqh" | git commit-tree 0000000000cdc -p 000000000) &&
        test $(git rev-parse $commit^) = $(git rev-parse 0000000000e4f)
 '