git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Olaf Hering <olaf@aepfle.de>
Cc: git@vger.kernel.org
Subject: Re: git fsck, badDate: invalid author/committer line - bad date
Date: Thu, 31 Oct 2019 11:15:39 +0100	[thread overview]
Message-ID: <20191031101539.GY4348@szeder.dev> (raw)
In-Reply-To: <20191031092749.074ed112.olaf@aepfle.de>

On Thu, Oct 31, 2019 at 09:27:49AM +0100, Olaf Hering wrote:
> While preparing changes for git://git.annexia.org/virt-top.git, git push to github complains:
> 
> remote: error: object c609265ccce27a902b850f5d62e6628710ee2928: badDate: invalid author/committer line - bad date
> 
> Also 'git fsck' is unhappy about a number of commits.
> 
> What is wrong with these commits, and how can the maintainer of virt-top.git repository fix his repo?
> 
> $  git  --no-pager  log -p -M --stat --pretty=fuller c609265ccce27a902b850f5d62e6628710ee2928^! | head
> commit c609265ccce27a902b850f5d62e6628710ee2928
> Author:     Richard W.M. Jones <rjones@redhat.com>
> AuthorDate: Mon Oct 5 11:39:28 2009 +0100
> Commit:     Richard W.M. Jones <rjones@redhat.com>
> CommitDate: Mon Oct 5 11:39:28 2009 +0100

'git log' doesn't show the commit object's headers as-is, but 'git
cat-file' does:

  $ git cat-file -p c609265ccce27a902b850f5d62e6628710ee2928
  tree ea8e3bd64e67d159e706b8feccfc169f6ac0829d
  parent db4e80ee11a4e212a97efc1761ed237c7da72cb1
  author Richard W.M. Jones <rjones@redhat.com> <"Richard W.M. Jones <rjones@redhat.com>"> 1254739168 +0100
  committer Richard W.M. Jones <rjones@redhat.com> <"Richard W.M. Jones <rjones@redhat.com>"> 1254739168 +0100
  
  New translations.

And now you don't need me to tell you what triggers those errors.

You can tell 'git fsck' to ignore those badly formatted commits
locally using the 'fsck'skipList' configuration variable:

  $ echo "# Commits with bogus author/committer lines" >.git-fsck-skiplist
  $ git fsck 2>&1 |cut -d' ' -f4 |sed -e 's/://' >>.git-fsck-skiplist
  $ git config fsck.skipList .git-fsck-skiplist
  $ git fsck
  Checking object directories: 100% (256/256), done.
  Checking objects: 100% (1803/1803), done.
  $ echo $?
  0

It might be worth to commit this file, so other devs can easily start
using it as well, and don't have to maintain such a list themselves.
(Note, however, that if this file is committed and the config variable
is set, then attempting to run 'git fsck' while an older revision is
checked out will result in a 'fatal: could not open object name list:
.git-fsck-skiplist' error; I think that's an acceptable trade-off.)

However, I don't know how to tell about the skiplist file to GitHub,
or any other Git hosting service for that matter.


  reply	other threads:[~2019-10-31 10:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-31  8:27 Olaf Hering
2019-10-31 10:15 ` SZEDER Gábor [this message]
2019-10-31 13:21   ` Olaf Hering
2019-10-31 16:56     ` SZEDER Gábor
2019-10-31 17:12       ` Eric Sunshine
2019-10-31 19:30   ` Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191031101539.GY4348@szeder.dev \
    --to=szeder.dev@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=olaf@aepfle.de \
    --subject='Re: git fsck, badDate: invalid author/committer line - bad date' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).