Re: git fsck, badDate: invalid author/committer line - bad date

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> AuthorDate: Mon Oct 5 11:39:28 2009 +0100
> Commit:     Richard W.M. Jones <rjones@xxxxxxxxxx>
> 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@xxxxxxxxxx> <"Richard W.M. Jones <rjones@xxxxxxxxxx>"> 1254739168 +0100
  committer Richard W.M. Jones <rjones@xxxxxxxxxx> <"Richard W.M. Jones <rjones@xxxxxxxxxx>"> 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.




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux