Subject: Re: git-tag bug? confusing git fast-export with double tag objects

From: Andreas Ericsson <[email-masked]>
Date: Fri, 15 May 2009 18:21:42 +0200

Alex Riesen wrote:
> 2009/5/15 Johannes Sixt <[email-masked]>:
>> Jakub Narebski schrieb:
>>> "Matthias Andree" <[email-masked]> writes:
>>>>      commit <-- signed-by-- NIL (removed) <--signed-by-- tag1.
>>> THIS IS A FEATURE, NOT A BUG.
>> Please stop it. Everone agrees about this.
>>
>> Matthias only wants a patch like below. Matthias, if you are serious about
>> it, please pick this up and turn it into a proper submission. I don't care
>> enough.
>>
> ...
>> +       if ((tag_object = (struct tag *)parse_object(object)) &&
>> +           tag_object->object.type == OBJ_TAG &&
>> +           tag_object->tag &&
>> +           !strcmp(tag_object->tag, tag)) {
>> +               error("A tag cannot tag itself. If you meant to tag the commit");
> 
> If it ever turned into submission, I'll always patch this out. It is stupid.

Is it? Does it really make sense to have a tag named "foo" point to a tag object
that in turn points to a tag object without a tag ref? I mean, if you're signing
a tag, it makes sense to want to keep the original tag around so people can
reference it. If you want to *replace* a tag, it doesn't make sense to create
this chain which, iiuc, goes something like this:

   tag ref -> tag object -> tag object without ref -> something

Honestly, I can see how this turned out to be confusing, as you end up with a
tag object without a tag, but a new tag in its place. Not to mention that the
new tag won't be push-able without --force in case the old tag was pushed earlier.

-- 
Andreas Ericsson                   [email-masked]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Register now for Nordic Meet on Nagios, June 3-4 in Stockholm
 http://nordicmeetonnagios.op5.org/

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.