From 7c12f0ac9224246dac308e837bccb5b2157062ee Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 15 Dec 2015 17:47:59 -0700 Subject: Import git-repair_1.20151215.orig.tar.xz [dgit import orig git-repair_1.20151215.orig.tar.xz] --- git-repair.1 | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 git-repair.1 (limited to 'git-repair.1') diff --git a/git-repair.1 b/git-repair.1 new file mode 100644 index 0000000..7780095 --- /dev/null +++ b/git-repair.1 @@ -0,0 +1,49 @@ +.TH +.SH NAME +git\-repair \- Fix a broken git repository +.PP +.SH SYNOPSIS +git\-repair [\-\-force] +.PP +.SH DESCRIPTION +This can fix a corrupt or broken git repository, which git fsck would +only complain has problems. +.PP +It does by deleting all corrupt objects, and retreiving all missing +objects that it can from the remotes of the repository. +.PP +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 +\fB\-\-force\fP option, since that rewrites history and throws out missing data. +Note that the \fB\-\-force\fP option never touches tags, even if they are no +longer usable due to missing data. +.PP +After running this command, you will probably want to run \fBgit fsck\fP to +verify it fixed the repository. Note that fsck may still complain about +objects referenced by the reflog, or the stash, if they were unable to be +recovered. This command does not try to clean up either the reflog or the +stash. +.PP +Since this command unpacks all packs in the repository, you may want to +run \fBgit gc\fP afterwards. +.SH TESTING +git-repair is able to test itself, by making a temporary copy +of the git reposiory it's run in, damaging it in random ways, and checking +that it can repair it so that git fsck reports no problems. +.PP +This is done using the --test parameter and associated --numtests and +--retry parameters. +.PP +Note that the testing will sometimes find repositories that can only be +repaired when --force is used; this is expected. On the other hand, +if it fails to recover a repository with --force, then the testing has +found a bug! +.PP +.SH AUTHOR +Joey Hess +.PP + +.PP +.PP -- cgit v1.2.3