From: Junio C Hamano Date: Thu, 14 May 2009 03:18:32 GMT Subject: Re: git-tag bug? confusing git fast-export with double tag objects Message-ID: <7v8wl01iev.fsf@alter.siamese.dyndns.org> In-Reply-To: "Matthias Andree" writes: > Am 14.05.2009, 02:53 Uhr, schrieb Matthias Andree : > >> 2. how do I trash the accidentally created 2nd "baz" tag object, >> i. e. remove it from the (packed) object database? Of course, I can >> hack some script (or use a text editor) to grind this >> git-fast-export into shape and re-importing it... > > OK, that worked: I traced (with git cat-file) the tree through all > tagged tag until the first tagged commit, and hack packed-refs (or > refs/tags/foo) to point to the commit object, and afterwards prune > the dangling tag. > > However, the other questions remain. I'd think git tag should > dereference its 2nd non-option argument to a commit before laying > down the tag... No. You can tag any object, and a tag is an object. You can point a signed tag with your own signed tag to attest your own belief on that other guy's tag, be it "it's genuine", "the tagged commit suits my need", etc. I thought there was a breakage report followed by a fix to the fast-export that mishandled a tag that points at another tag not too long ago. Do you have 1982467 (builtin-fast-export.c: handle nested tags, 2009-03-23)?