diff options
author | Doug Bell <madcityzen@gmail.com> | 2013-07-16 19:05:14 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-07-17 17:52:28 -0700 |
commit | 3f3d0cea61aba6ac2fef16736ef55e04bb735e02 (patch) | |
tree | ef25eaf931caa88319393d35aed9b088de977e0d /builtin/show-ref.c | |
parent | 239222f587ed06f96d90dd71c66d80a2b1e3dc9f (diff) | |
download | git-3f3d0cea61aba6ac2fef16736ef55e04bb735e02.tar.gz |
show-ref: make --head always show the HEAD refdb/show-ref-head
The docs seem to say that doing
git show-ref --head --tags
would show both the HEAD ref and all the tag refs. However, doing
both --head and either of --tags or --heads would filter out the HEAD
ref.
Also update the documentation to describe the new behavior and add
tests for the show-ref command.
[jc: Doug did proofread the tests, but it was done by me and bugs in
it are mine].
Signed-off-by: Doug Bell <madcityzen@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/show-ref.c')
-rw-r--r-- | builtin/show-ref.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/builtin/show-ref.c b/builtin/show-ref.c index 8d9b76a02f..099c2a4557 100644 --- a/builtin/show-ref.c +++ b/builtin/show-ref.c @@ -31,6 +31,9 @@ static int show_ref(const char *refname, const unsigned char *sha1, int flag, vo const char *hex; unsigned char peeled[20]; + if (show_head && !strcmp(refname, "HEAD")) + goto match; + if (tags_only || heads_only) { int match; @@ -167,9 +170,10 @@ static const struct option show_ref_options[] = { OPT_BOOLEAN(0, "verify", &verify, N_("stricter reference checking, " "requires exact ref path")), { OPTION_BOOLEAN, 'h', NULL, &show_head, NULL, - N_("show the HEAD reference"), + N_("show the HEAD reference, even if it would be filtered out"), PARSE_OPT_NOARG | PARSE_OPT_HIDDEN }, - OPT_BOOLEAN(0, "head", &show_head, N_("show the HEAD reference")), + OPT_BOOLEAN(0, "head", &show_head, + N_("show the HEAD reference, even if it would be filtered out")), OPT_BOOLEAN('d', "dereference", &deref_tags, N_("dereference tags into object IDs")), { OPTION_CALLBACK, 's', "hash", &abbrev, N_("n"), |