rev-parse: fix using "--default" with "--verify"
Before this patch, something like: $ git rev-parse --verify HEAD --default master did not work, while: $ git rev-parse --default master --verify HEAD worked. This patch fixes that, so that they both work (assuming HEAD and master can be parsed). Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Christian Couder committed
May 11, 2008 at 18:27 UTC
28bfa145e4dedad9b2c81857b77ca13871c77853
2 files changed
+7
-6
builtin-rev-parse.c
+2
@@ -583,6 +583,8 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
583
continue;
584
verify_filename(prefix, arg);
585
}
586
+ if (verify && revs_count == 1)
587
+ return 0;
588
show_default();
589
if (verify && revs_count != 1)
590
die_no_single_rev(quiet);
t/t1503-rev-parse-verify.sh
+5
-6
@@ -97,18 +97,17 @@ test_expect_failure '3 no stdout output on error' '
97
test -z "$(git rev-parse --verify $HASH2 HEAD)"
98
'
99
100
-test_expect_success '1 with --default' '
100
+test_expect_success 'use --default' '
101
git rev-parse --verify --default master &&
102
git rev-parse --verify --default master HEAD &&
103
git rev-parse --default master --verify &&
104
git rev-parse --default master --verify HEAD &&
105
+ git rev-parse --verify HEAD --default master &&
106
test_must_fail git rev-parse --verify foo --default master &&
107
test_must_fail git rev-parse --default HEAD --verify bar &&
107
- test_must_fail git rev-parse --verify --default HEAD baz
108
-'
109
-
110
-test_expect_failure '2 with --default' '
111
- git rev-parse --verify HEAD --default master
108
+ test_must_fail git rev-parse --verify --default HEAD baz &&
109
+ test_must_fail git rev-parse --default foo --verify &&
110
+ test_must_fail git rev-parse --verify --default bar
111
'
112
113
test_done