diff options
author | Daniel Knittl-Frank <knittl89+git@googlemail.com> | 2017-12-11 18:24:54 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-12-27 10:23:11 -0800 |
commit | 1bba00130a1a0332ec0ad2f878a09ca9b2b18ee2 (patch) | |
tree | 93b326475fb56bc80fe4954a10150f53bb4b4f3c /builtin/describe.c | |
parent | Prepare for 2.15.2 (diff) | |
download | tgif-1bba00130a1a0332ec0ad2f878a09ca9b2b18ee2.tar.xz |
describe: prepend "tags/" when describing tags with embedded name
The man page of the "git describe" command explains the expected
output when using the --all option, i.e. the full reference path is
shown, including heads/ or tags/ prefix.
When 212945d4a85dfa172ea55ec73b1d830ef2d8582f ("Teach git-describe
to verify annotated tag names before output") made Git favor the
embedded name of annotated tags, it accidentally changed the output
format when the --all flag is given, only printing the tag's name
without the prefix.
Check if --all was specified and re-add the "tags/" prefix for this
special case to fix the regresssion.
Signed-off-by: Daniel Knittl-Frank <knittl89+git@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/describe.c')
-rw-r--r-- | builtin/describe.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/builtin/describe.c b/builtin/describe.c index 29075dbd0f..2004a1a86e 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -271,10 +271,13 @@ static void display_name(struct commit_name *n) n->name_checked = 1; } - if (n->tag) + if (n->tag) { + if (all) + printf("tags/"); printf("%s", n->tag->tag); - else + } else { printf("%s", n->path); + } } static void show_suffix(int depth, const struct object_id *oid) |