On Tue, 6 Jan 2009, R. Tyler Ballance wrote: > On Tue, 2009-01-06 at 20:25 -0500, Nicolas Pitre wrote: > > On Tue, 6 Jan 2009, R. Tyler Ballance wrote: > > > > > On Tue, 2008-12-09 at 09:36 +0100, Jan Krüger wrote: > > > > For fixing a corrupted repository by using backup copies of individual > > > > files, allow write_sha1_file() to write loose files even if the object > > > > already exists in a pack file, but only if the existing entry is marked > > > > as corrupted. > > > > > > I figured I'd reply to this again, since the issue cropped up again. > > > > > > We started experiencing *large* numbers of corruptions like the ones > > > that started the thread (one developer was receiving them once or twice > > > a day) with v1.6.0.4 > > > > > > We went ahead and upgraded to a custom build of v1.6.1 with Jan's patch > > > (below) and the issues /seem/ to have resolved themselves. I'm not > > > certain whether Jan's patch was really responsible, or if there was > > > another issue that caused this to correct itself in v1.6.1. > > I'll back the patch out and redeploy, it's worth mentioning that a > coworker of mine just got the issue as well (on 1.6.1). He was able to > `git pull` and the error went away, but I doubt that it "magically fixed > itself" Please describe the "issue", ideally with transcripts of error messages, etc. Normally a simple pull operation should not provide any "fix" for corruptions. > I highly doubt this, I've got the issue appearing on at least 7 > different development boxes (not workstations, 2U quad-core ECC RAM, etc > machines), while that doesn't mean that they all don't have issues, the > probability of them *all* having disk issues, and it somehow only > manifesting itself with Git usage, is low ;) Agreed. > I've tarred one of the repositories that had it in a reproducible state That is wonderful. > so I can create a build and extract the tar and run against that to > verify any patches anybody might have, but unfortunately at 7GB of > company code and assets, I can't exactly share ;) First step is to understand what is going on. Only then could reliable patches be made. Nicolas