diff options
author | SZEDER Gábor <szeder@ira.uka.de> | 2015-08-24 18:15:18 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-08-25 09:35:13 -0700 |
commit | 2bd07065c3ed8a1bd2dc6f5d8e914dfec31e3dca (patch) | |
tree | b6a65172ecba1df898183b9aa6d8fefff918eb61 /t/t6120-describe.sh | |
parent | 282616c72d1d08a77ca4fe1186cb708c38408d87 (diff) | |
download | git-2bd07065c3ed8a1bd2dc6f5d8e914dfec31e3dca.tar.gz git-2bd07065c3ed8a1bd2dc6f5d8e914dfec31e3dca.tar.xz |
describe --contains: default to HEAD when no commit-ish is given
'git describe --contains' doesn't default to HEAD when no commit is
given, and it doesn't produce any output, not even an error:
~/src/git ((v2.5.0))$ ./git describe --contains
~/src/git ((v2.5.0))$ ./git describe --contains HEAD
v2.5.0^0
Unlike other 'git describe' options, the '--contains' code path is
implemented by calling 'name-rev' with a bunch of options plus all the
commit-ishes that were passed to 'git describe'. If no commit-ish was
present, then 'name-rev' got invoked with none, which then leads to the
behavior illustrated above.
Porcelain commands usually default to HEAD when no commit-ish is given,
and 'git describe' already does so in all other cases, so it should do
so with '--contains' as well.
Pass HEAD to 'name-rev' when no commit-ish is given on the command line
to make '--contains' behave consistently with other 'git describe'
options. While at it, use argv_array_pushv() instead of the loop to
pass commit-ishes to 'git name-rev'.
'git describe's short help already indicates that the commit-ish is
optional, but the synopsis in the man page doesn't, so update it
accordingly as well.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t6120-describe.sh')
-rwxr-xr-x | t/t6120-describe.sh | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/t/t6120-describe.sh b/t/t6120-describe.sh index c0e5b2a62..85f269411 100755 --- a/t/t6120-describe.sh +++ b/t/t6120-describe.sh @@ -113,6 +113,14 @@ check_describe A-3-* --long HEAD^^2 check_describe c-7-* --tags check_describe e-3-* --first-parent --tags +test_expect_success 'describe --contains defaults to HEAD without commit-ish' ' + echo "A^0" >expect && + git checkout A && + test_when_finished "git checkout -" && + git describe --contains >actual && + test_cmp expect actual +' + : >err.expect check_describe A --all A^0 test_expect_success 'no warning was displayed for A' ' |