[announce] git-repair
Joey Hess
joey at kitenet.net
Mon Nov 18 18:13:50 GMT 2013
I've created git-repair as a small spinoff from git-annex.
http://git-repair.branchable.com/
git-repair is a complement to git fsck, which only finds problems, but
does not try to fix them.
At its simplest, git-repair deletes all corrupt objects and corrupt
packs, makes a fresh clone from a remote[1] and rsyncs the missing
objects back into the repository.
If that is not sufficient to fully recover the repository, it can also
reset branches back to commits before the corruption happened, delete
branches that are no longer available due to the lost data, and remove
any missing files from the index. It will only do this if run with the
--force option, since that rewrites history and throws out missing data.
I would be very sad to have to use git-repair --force on a git
repository holding source code, although it might manage to preserve
commits that I had forgotten to push. It's more likely to be useful in a
git repository being used for non-source-code purposes, where the loss
of some files won't break the build of a program.
[1] It would be more efficient if it could git fetch individual missing
objects from the remote, but my current understanding is that the
git protocols do not allow doing that.
--
see shy jo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 828 bytes
Desc: Digital signature
URL: <http://lists.q42.co.uk/pipermail/git-announce/attachments/20131118/6855d889/attachment.asc>
More information about the git-announce
mailing list