From: Christian Couder Date: Sun, 11 May 2008 16:27:36 +0000 (+0200) Subject: rev-parse: fix using "--default" with "--verify" X-Git-Tag: v1.5.6-rc0~70 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=28bfa145e4dedad9b2c81857b77ca13871c77853;p=git.git 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 Signed-off-by: Junio C Hamano --- diff --git a/builtin-rev-parse.c b/builtin-rev-parse.c index 0e5970732..7dbf282f5 100644 --- a/builtin-rev-parse.c +++ b/builtin-rev-parse.c @@ -583,6 +583,8 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) continue; verify_filename(prefix, arg); } + if (verify && revs_count == 1) + return 0; show_default(); if (verify && revs_count != 1) die_no_single_rev(quiet); diff --git a/t/t1503-rev-parse-verify.sh b/t/t1503-rev-parse-verify.sh index a0d14cb9c..e93f1b38e 100755 --- a/t/t1503-rev-parse-verify.sh +++ b/t/t1503-rev-parse-verify.sh @@ -97,18 +97,17 @@ test_expect_failure '3 no stdout output on error' ' test -z "$(git rev-parse --verify $HASH2 HEAD)" ' -test_expect_success '1 with --default' ' +test_expect_success 'use --default' ' git rev-parse --verify --default master && git rev-parse --verify --default master HEAD && git rev-parse --default master --verify && git rev-parse --default master --verify HEAD && + git rev-parse --verify HEAD --default master && test_must_fail git rev-parse --verify foo --default master && test_must_fail git rev-parse --default HEAD --verify bar && - test_must_fail git rev-parse --verify --default HEAD baz -' - -test_expect_failure '2 with --default' ' - git rev-parse --verify HEAD --default master + test_must_fail git rev-parse --verify --default HEAD baz && + test_must_fail git rev-parse --default foo --verify && + test_must_fail git rev-parse --verify --default bar ' test_done