threads / discuss / 16870

Why does git-describe warn about something that you can't control?

Subject: Why does git-describe warn about something that you can't control?

## tl;dr

2 messages between Dec 26, 2008 and Dec 26, 2008.

replies: 1people: 2as markdown or json

demerphq· Dec 26, 2008, 11:50 UTC · lore

On the perl.git repo if I use git-describe --all on some commits I get warnings like this:

$ git describe --all 3417e4f8422bcf13f799ce1acef44b27ccbef3d8 warning: tag 'perl-5.005_04' is really 'tags/perl-5.005_04' here perl-5.005_04

Except there doesnt seem to be any explanation for why the warning is being produced (it almost, but not quite looks random for the commits im looking at), how to silence it, or how to force git-describe to for instance use "tags/perl-5.8.0" instead so the warning is not generated.

I think this behaviour is confusing, either the warning should go away, or it should be improved and complemented by a switch to force git-describe to use the qualified tagname instead, or at the very least a switch to silence the warning (which is really annoying when you are doing git-describe on hundreds of commits in a go).

Details for the perl repo are in my signature.
Yves
-- 
git clone git://perl5.git.perl.org/perl
René Scharfe· Dec 26, 2008, 13:44 UTC · re: demerphq · lore

Re: Why does git-describe warn about something that you can't control?

demerphq schrieb:
Show 18 quoted lines
> On the perl.git repo if I use git-describe --all on some commits I get
> warnings like this:
> 
> $ git describe --all 3417e4f8422bcf13f799ce1acef44b27ccbef3d8
> warning: tag 'perl-5.005_04' is really 'tags/perl-5.005_04' here
> perl-5.005_04
> 
> Except there doesnt seem to be any explanation for why the warning is
> being produced (it almost, but not quite looks random for the commits
> im looking at), how to silence it, or how to force git-describe to for
> instance use "tags/perl-5.8.0" instead so the warning is not
> generated.
> 
> I think this behaviour is confusing, either the warning should go
> away, or it should be improved and complemented by a switch to force
> git-describe to use the qualified tagname instead, or at the very
> least a switch to silence the warning (which is really annoying when
> you are doing git-describe on hundreds of commits in a go).

The warning was introduced by 212945d4 ("Teach git-describe to verify annotated tag names before output") by Shawn (cc:'d).

The following patch should fix your issue by making describe ignore the "tags/" path prefix of, well, tags, which is only present if you call it with the option --all.

diff --git a/builtin-describe.c b/builtin-describe.c
index d2cfb1b..3a007ed 100644
--- a/builtin-describe.c
+++ b/builtin-describe.c
@@ -158,7 +158,7 @@ static void display_name(struct commit_name *n)
 		n->tag = lookup_tag(n->sha1);
 		if (!n->tag || parse_tag(n->tag) || !n->tag->tag)
 			die("annotated tag %s not available", n->path);
-		if (strcmp(n->tag->tag, n->path))
+		if (strcmp(n->tag->tag, all ? n->path + 5 : n->path))
 			warning("tag '%s' is really '%s' here", n->tag->tag, n->path);
 	}
 

← back to recent threads