Clarifying "invalid tag signature file" error message from git filter-branch (and others)

6 messages, 2 authors, 2016-06-15 · open the first message on its own page

Clarifying "invalid tag signature file" error message from git filter-branch (and others)

From: James Youngman <hidden>
Date: 2016-06-15 22:45:45

What do the errors "error: char88: malformed tagger field" and "fatal:
invalid tag signature file" and "Could not create new tag object for
FINDUTILS-4_1-10" signify in the session below?

Are any of those errors correctable (I can re-run the tree rewrite
script as many times as needed, I'm just using it on a test repository
for now).

The script I'm invoking calls git filter-branch; I've attached the script.

$ bash ~/source/GNU/findutils/logrewrite.sh
fatal: Not a git repository
Rewrite 9afb13614381c4bfa22f515c18cbfe6f54798330 (1587/1587)
Ref 'refs/heads/master' was rewritten
FINDUTILS-4_1-10 -> FINDUTILS-4_1-10
(ce25eb352de8dc53a9a7805ba9efc1c9215d28c2 ->
79221244237bc408ced0c37f3c3476d53e665801)
error: char88: malformed tagger field
fatal: invalid tag signature file
Could not create new tag object for FINDUTILS-4_1-10
$

Thanks,
James.

Re: Clarifying "invalid tag signature file" error message from git filter-branch (and others)

From: Brandon Casey <hidden>
Date: 2016-06-15 22:45:45

James Youngman wrote:
What do the errors "error: char88: malformed tagger field" and "fatal:
invalid tag signature file" and "Could not create new tag object for
FINDUTILS-4_1-10" signify in the session below?
It means the tagger field in the tag does not follow the correct form.
Specifically the testing in git-mktag (called by filter-branch) does:

         * Check for correct form for name and email
         * i.e. " <" followed by "> " on _this_ line
         * No angle brackets within the name or email address fields.
         * No spaces within the email address field.

What does 'git cat-file tag FINDUTILS-4_1-10' show you?
Are any of those errors correctable (I can re-run the tree rewrite
script as many times as needed, I'm just using it on a test repository
for now).
If there are only a few, then you can manually retag with a corrected
tagger field, and then run your script.

Of course, depending on the output of the cat-file call above, the
testing in git-mktag may need to be relaxed.

-brandon

Re: Clarifying "invalid tag signature file" error message from git filter-branch (and others)

From: James Youngman <hidden>
Date: 2016-06-15 22:45:45

On Thu, Dec 11, 2008 at 9:06 PM, Brandon Casey [off-list ref] wrote:
James Youngman wrote:
quoted
What do the errors "error: char88: malformed tagger field" and "fatal:
invalid tag signature file" and "Could not create new tag object for
FINDUTILS-4_1-10" signify in the session below?
It means the tagger field in the tag does not follow the correct form.
Specifically the testing in git-mktag (called by filter-branch) does:

        * Check for correct form for name and email
        * i.e. " <" followed by "> " on _this_ line
        * No angle brackets within the name or email address fields.
        * No spaces within the email address field.

What does 'git cat-file tag FINDUTILS-4_1-10' show you?
Before conversion:
$ git cat-file tag FINDUTILS-4_1-10
object ce25eb352de8dc53a9a7805ba9efc1c9215d28c2
type commit
tag FINDUTILS-4_1-10
tagger Kevin Dalley

The conversion:

After conversion:
$ git cat-file tag FINDUTILS-4_1-10
object ce25eb352de8dc53a9a7805ba9efc1c9215d28c2
type commit
tag FINDUTILS-4_1-10
tagger Kevin Dalley

This is in the repo at
http://git.savannah.gnu.org/gitweb/?p=findutils.git;a=commit;h=ce25eb352de8dc53a9a7805ba9efc1c9215d28c2
quoted
Are any of those errors correctable (I can re-run the tree rewrite
script as many times as needed, I'm just using it on a test repository
for now).
If there are only a few, then you can manually retag with a corrected
tagger field, and then run your script.

Of course, depending on the output of the cat-file call above, the
testing in git-mktag may need to be relaxed.

-brandon

Re: Clarifying "invalid tag signature file" error message from git filter-branch (and others)

From: Brandon Casey <hidden>
Date: 2016-06-15 22:45:45

James Youngman wrote:
On Thu, Dec 11, 2008 at 9:06 PM, Brandon Casey [off-list ref] wrote:
quoted
James Youngman wrote:
quoted
What do the errors "error: char88: malformed tagger field" and "fatal:
invalid tag signature file" and "Could not create new tag object for
FINDUTILS-4_1-10" signify in the session below?
It means the tagger field in the tag does not follow the correct form.
Specifically the testing in git-mktag (called by filter-branch) does:

        * Check for correct form for name and email
        * i.e. " <" followed by "> " on _this_ line
        * No angle brackets within the name or email address fields.
        * No spaces within the email address field.

What does 'git cat-file tag FINDUTILS-4_1-10' show you?
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 [off-list ref] 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
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 [off-list ref] 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.


The tag below was actually not converted. filter-branch bailed
out during the conversion and so left it alone.
The conversion:

After conversion:
$ git cat-file tag FINDUTILS-4_1-10
object ce25eb352de8dc53a9a7805ba9efc1c9215d28c2
type commit
tag FINDUTILS-4_1-10
tagger Kevin Dalley

This is in the repo at
http://git.savannah.gnu.org/gitweb/?p=findutils.git;a=commit;h=ce25eb352de8dc53a9a7805ba9efc1c9215d28c2
-brandon

Re: Clarifying "invalid tag signature file" error message from git filter-branch (and others)

From: James Youngman <hidden>
Date: 2016-06-15 22:45:45

On Thu, Dec 11, 2008 at 11:13 PM, Brandon Casey [off-list ref] wrote:
quoted
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 [off-list ref] 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 [off-list ref] 830638152 +0000
committer Kevin Dalley [off-list ref] 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 [off-list ref] 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.

The tag below was actually not converted. filter-branch bailed
out during the conversion and so left it alone.
I see.

Thanks,
James.

Re: Clarifying "invalid tag signature file" error message from git filter-branch (and others)

From: Brandon Casey <hidden>
Date: 2016-06-15 22:45:46

James Youngman wrote:
On Thu, Dec 11, 2008 at 11:13 PM, Brandon Casey [off-list ref] wrote:
quoted
quoted
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 [off-list ref] 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?
Yes and no. I meant that if you knew the "real" timestamp, possibly by
extracting it from the original repository, then you can use that.
Otherwise yes, as a workaround, use the timestamp in the object being
tagged.
$ git show --pretty=raw  ce25eb352de8dc53a9a7805ba9efc1c9215d28c2
commit ce25eb352de8dc53a9a7805ba9efc1c9215d28c2
tree 752cca144d39bc55d05fbe304752b274ba22641c
parent 9a998755249b0c8c47e8657cff712fa506aa30fc
author Kevin Dalley [off-list ref] 830638152 +0000
committer Kevin Dalley [off-list ref] 830638152 +0000
The committer information should be used, though in this repository it will
probably always be the same as the author.

-brandon
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help