Re: [PATCH/RFC] Allow writing loose objects that are corrupted in a pack file
From: Nicolas Pitre <hidden>
Date: 2016-06-15 22:45:52
On Tue, 6 Jan 2009, R. Tyler Ballance wrote:
On Tue, 2009-01-06 at 20:25 -0500, Nicolas Pitre wrote:quoted
On Tue, 6 Jan 2009, R. Tyler Ballance wrote:quoted
On Tue, 2008-12-09 at 09:36 +0100, Jan Krüger wrote:quoted
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