On 14/10/2014 19:21, Jeff King wrote:
On Mon, Oct 13, 2014 at 09:37:27AM +1100, Ben Aveling wrote:
A question about fsck - is there a reason it doesn't have an option to
delete bad objects?
If the objects are reachable, then deleting them would create other big
problems (i.e., we would be breaking the object graph!).
The man page for fsck advises:
"Any corrupt objects you will have to find in backups or other
archives (i.e., you can just remove them and do an /rsync/ with some
other site in the hopes that somebody else has the object you have
corrupted)."
And that seems sensible to me - the object is corrupt, it is unusable,
the object graph is already broken, we already have big problems,
removing the corrupt object(s) doesn't create any new problems, and it
allows the possibility that the damaged objects can be restored.
I ask because I have a corrupt repository, and every time I run fsck, it
reports one corrupt object, then stops. I could write a script to
repeatedly call fsck and then remove the next corrupt object, but it
raises the question for me; could it make sense to extend fsck with the
option to do to the removes? Or even better, do the removes and then do
the necessary [r]sync, assuming the user has another repository that has
a good copy of the bad objects, which in this case I do.
Regards, Ben
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html