aboutsummaryrefslogtreecommitdiff
path: root/doc/git-annex-repair.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-03-24 15:23:59 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-03-24 15:23:59 -0400
commit5c8727dea29d5266de481475495eb979038bfa5a (patch)
tree2362c6ba5cd464d1e44f6a08ef4d7d034b594c75 /doc/git-annex-repair.mdwn
parentd17d5a77893ac01fc7c29f92447a3e85e3501d9f (diff)
separated man pages for all the maintenance commands
Diffstat (limited to 'doc/git-annex-repair.mdwn')
-rw-r--r--doc/git-annex-repair.mdwn55
1 files changed, 55 insertions, 0 deletions
diff --git a/doc/git-annex-repair.mdwn b/doc/git-annex-repair.mdwn
new file mode 100644
index 000000000..517dcf454
--- /dev/null
+++ b/doc/git-annex-repair.mdwn
@@ -0,0 +1,55 @@
+# NAME
+
+git-annex repair - recover broken git repository
+
+# SYNOPSIS
+
+git annex repair
+
+# DESCRIPTION
+
+This can repair many of the problems with git repositories that `git fsck`
+detects, but does not itself fix. It's useful if a repository has become
+badly damaged. One way this can happen is if a repository used by git-annex
+is on a removable drive that gets unplugged at the wrong time.
+
+This command can actually be used inside git repositories that do not
+use git-annex at all; when used in a repository using git-annex, it
+does additional repairs of the git-annex branch.
+
+It works by deleting any corrupt objects from the git repository, and
+retrieving all missing objects it can from the remotes of 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.
+Note that the `--force` option never touches tags, even if they are no
+longer usable due to missing data.
+
+After running this command, you will probably want to run `git fsck` 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.
+
+It is also a good idea to run `git annex fsck --fast` after this command,
+to make sure that the git-annex branch reflects reality.
+
+# OPTIONS
+
+* `--force`
+
+ Enable repair actions that involve deleting data that has been
+ lost due to git repository corruption.
+
+# SEE ALSO
+
+[[git-annex]](1)
+
+# AUTHOR
+
+Joey Hess <id@joeyh.name>
+
+Warning: Automatically converted into a man page by mdwn2man. Edit with care.