Re: Clarifying "invalid tag signature file" error message from git filter-branch (and others)
- From
Jim Meyering <jim@meyering.net>
- Date
- Dec 12, 2008, 11:02 UTC
- Message-ID
- <87zlj1hd0r.fsf@rho.meyering.net>
- In-Reply-To
- <c5df85930812111559p287ea6afk54a9759302288d5e@mail.gmail.com>
"James Youngman" <jay@gnu.org> wrote:
Show 63 quoted lines
> On Thu, Dec 11, 2008 at 11:13 PM, Brandon Casey <casey@nrlssc.navy.mil> wrote: > >>> Before conversion: >>> $ git cat-file tag FINDUTILS-4_1-10 >>> object ce25eb352de8dc53a9a7805ba9efc1c9215d28c2 >>> type commit >>> tag FINDUTILS-4_1-10 >>> tagger Kevin Dalley >> >> The tagger field is missing an email address, a timestamp, and a timezone. It >> should look something like: >> >> tagger Kevin Dalley <kevin.dalley@somewhere.com> 1229036026 -0800 >> >> git-mktag prevents improperly formatted tags from being created by checking >> that these fields exist and are well formed. >> >> If you know the correct values for the missing fields, then you could > > Yes for the email address. But as for the timestamp, it's not in > the tag file; that only contains the sha1. > There is a timestamp in the object being tagged, is that the timestamp > you are talking about? > > $ git show --pretty=raw ce25eb352de8dc53a9a7805ba9efc1c9215d28c2 > commit ce25eb352de8dc53a9a7805ba9efc1c9215d28c2 > tree 752cca144d39bc55d05fbe304752b274ba22641c > parent 9a998755249b0c8c47e8657cff712fa506aa30fc > author Kevin Dalley <kevin@seti.org> 830638152 +0000 > committer Kevin Dalley <kevin@seti.org> 830638152 +0000 > > *** empty log message *** > > diff --git a/debian.Changelog b/debian.Changelog > index e3541eb..d0cd295 100644 > --- a/debian.Changelog > +++ b/debian.Changelog > @@ -1,5 +1,7 @@ > Sat Apr 27 12:29:06 1996 Kevin Dalley > <kevin@aplysia.iway.aimnet.com (Kevin Dalley)> > > + * find.info, find.info-1, find.info-2: updated to match find.texi > + > * debian.rules (debian): update debian revision to 10 > > * getline.c (getstr): verify that nchars_avail is *really* greater > > > > > >> recreate the tags before doing the filter-branch. If they are unknown, it >> seems valid enough to use the values from the commit that the tag points >> to. >> >> i.e. >> >> tagger Kevin Dalley <kevin@seti.org> 830638152 -0000 >> >> What tool was used to convert this repository to git? It should be corrected >> to produce valid annotated tags. Especially if it is a tool within git. > > I don't know, Jim Meyering will know though, so I CC'ed him.
I used parsecvs, probably with git-master from the date of the initial conversion (check the archives for actual date). That was long enough ago that it was almost certainly before git-mktag learned to be more strict about its inputs.
James, since you're about to rewrite the history, you may want to start that process from a freshly-cvs-to-git-converted repository.
I'm not very happy about using cvsparse (considering it's not really being maintained, afaik), so if the git crowd can recommend something better, I'm all ears.