Stefan Sperling wrote on Tue, Nov 20, 2012 at 09:32:18 +0100:
> On Tue, Nov 20, 2012 at 08:14:41AM +0200, Daniel Shahaf wrote:
> > Stefan Sperling wrote on Mon, Nov 19, 2012 at 21:07:59 +0100:
> > > Extract these reps from the FSFS data of the temporary repository and
> > > stitch them into the broken repository at appropriate places, recalculating
> > > checksums where necessary,
> >
> > Instead of recalculating, you ought to be able to set them to all-zeroes.
>
> Ah, that's neat :)
>
> Oh, and make sure to remove rows containing checksums of corrupted reps
> from rep-cache.db. Alternatively, disable rep-sharing in fsfs.conf.
> Else, you might end up with new revisions pointing at existing bad reps
But such pointers might already exist in revisions that were committed
after the committed revision and before it was fixed, right?
In which case - there is no easy way to find all of them (short of
exhaustive search), but fixing them should be easy (especially given that
the sha1 and uniquifier fields in rep reference lines are optional).
> (in particular if people keep trying to add the same file again and
> again under different names in an attempt to repair it.)
Received on 2012-11-20 11:07:49 CET