threads / discuss / 43388

Corrupt pack file using older versions of git on a newer repo..

Subject: Corrupt pack file using older versions of git on a newer repo..

## tl;dr

2 messages between Dec 20, 2006 and Dec 20, 2006.

replies: 1people: 2as markdown or json

Sean· Dec 20, 2006, 13:27 UTC · lore

This is probably expected behavior, but when bisecting another Git issue[1], i found that after a fresh clone of the git repository using 1.4.4.2 I got the following corrupt pack file when accessing that repo with an old version of git:

$ git --version git version 1.4.2

$ git log fatal: corrupted pack file .git/objects/pack/pack-d75f6a8307f8d8ce9727fe27107486839c54aef6.pack

When reverting to 1.4.3 instead, a git reset triggered the corrupt pack error. Anyway, just a heads up in case it actually matters.

Sean

[1] The "Git" issue turned out not to be Git at all but rather the Beagle search daemon which seems to touch file stat information as it scans files in a git repo causing strange git status and diff

Nicolas Pitre· Dec 20, 2006, 15:30 UTC · re: Sean · lore

Re: Corrupt pack file using older versions of git on a newer repo..

On Wed, 20 Dec 2006, Sean wrote:
Show 11 quoted lines
> 
> This is probably expected behavior, but when bisecting another Git
> issue[1], i found that after a fresh clone of the git repository using
> 1.4.4.2 I got the following corrupt pack file when accessing that repo
> with an old version of git:
> 
> $ git --version
> git version 1.4.2
> 
> $ git log
> fatal: corrupted pack file .git/objects/pack/pack-d75f6a8307f8d8ce9727fe27107486839c54aef6.pack

To make that repository accessible with older git versions simply run git-repack -a -d using version 1.4.4.2.

The clone with version 1.4.4.2 added OBJ_OFS_DELTA objects to the pack which older git versions don't know about. Those objects are used for pack transport when both ends know about them as they take less space. But the repack doesn't use them by default so a full repack will get rid of them automatically.

← back to recent threads