diff --git a/builtin-rev-parse.c b/builtin-rev-parse.c index 0e59707323..7dbf282f5e 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 a0d14cb9c3..e93f1b38ef 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