Merge branch 'jc/pack'
[gitweb.git] / Documentation / git-fsck-objects.txt
index d0af99d3512d3794f9907612cef1d30616120064..f21061ecfe56a438238cc84761174f836bd0035e 100644 (file)
@@ -8,132 +8,10 @@ git-fsck-objects - Verifies the connectivity and validity of the objects in the
 
 SYNOPSIS
 --------
-[verse]
-'git-fsck-objects' [--tags] [--root] [--unreachable] [--cache]
-                [--full] [--strict] [<object>*]
+'git-fsck-objects' ...
 
 DESCRIPTION
 -----------
-Verifies the connectivity and validity of the objects in the database.
-
-OPTIONS
--------
-<object>::
-       An object to treat as the head of an unreachability trace.
-+
-If no objects are given, git-fsck-objects defaults to using the
-index file and all SHA1 references in .git/refs/* as heads.
-
---unreachable::
-       Print out objects that exist but that aren't readable from any
-       of the reference nodes.
-
---root::
-       Report root nodes.
-
---tags::
-       Report tags.
-
---cache::
-       Consider any object recorded in the index also as a head node for
-       an unreachability trace.
-
---full::
-       Check not just objects in GIT_OBJECT_DIRECTORY
-       ($GIT_DIR/objects), but also the ones found in alternate
-       object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES
-       or $GIT_DIR/objects/info/alternates,
-       and in packed git archives found in $GIT_DIR/objects/pack
-       and corresponding pack subdirectories in alternate
-       object pools.
-
---strict::
-       Enable more strict checking, namely to catch a file mode
-       recorded with g+w bit set, which was created by older
-       versions of git.  Existing repositories, including the
-       Linux kernel, git itself, and sparse repository have old
-       objects that triggers this check, but it is recommended
-       to check new projects with this flag.
-
-It tests SHA1 and general object sanity, and it does full tracking of
-the resulting reachability and everything else. It prints out any
-corruption it finds (missing or bad objects), and if you use the
-'--unreachable' flag it will also print out objects that exist but
-that aren't readable from any of the specified head nodes.
-
-So for example
-
-       git-fsck-objects --unreachable HEAD $(cat .git/refs/heads/*)
-
-will do quite a _lot_ of verification on the tree. There are a few
-extra validity tests to be added (make sure that tree objects are
-sorted properly etc), but on the whole if "git-fsck-objects" is happy, you
-do have a valid tree.
-
-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).
-
-Of course, "valid tree" doesn't mean that it wasn't generated by some
-evil person, and the end result might be crap. git is a revision
-tracking system, not a quality assurance system ;)
-
-Extracted Diagnostics
----------------------
-
-expect dangling commits - potential heads - due to lack of head information::
-       You haven't specified any nodes as heads so it won't be
-       possible to differentiate between un-parented commits and
-       root nodes.
-
-missing sha1 directory '<dir>'::
-       The directory holding the sha1 objects is missing.
-
-unreachable <type> <object>::
-       The <type> object <object>, isn't actually referred to directly
-       or indirectly in any of the trees or commits seen. This can
-       mean that there's another root node that you're not specifying
-       or that the tree is corrupt. If you haven't missed a root node
-       then you might as well delete unreachable nodes since they
-       can't be used.
-
-missing <type> <object>::
-       The <type> object <object>, is referred to but isn't present in
-       the database.
-
-dangling <type> <object>::
-       The <type> object <object>, is present in the database but never
-       'directly' used. A dangling commit could be a root node.
-
-warning: git-fsck-objects: tree <tree> has full pathnames in it::
-       And it shouldn't...
-
-sha1 mismatch <object>::
-       The database has an object who's sha1 doesn't match the
-       database value.
-       This indicates a serious data integrity problem.
-
-Environment Variables
----------------------
-
-GIT_OBJECT_DIRECTORY::
-       used to specify the object database root (usually $GIT_DIR/objects)
-
-GIT_INDEX_FILE::
-       used to specify the index file of the index
-
-GIT_ALTERNATE_OBJECT_DIRECTORIES::
-       used to specify additional object database roots (usually unset)
-
-Author
-------
-Written by Linus Torvalds <torvalds@osdl.org>
-
-Documentation
---------------
-Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
-
-GIT
----
-Part of the gitlink:git[7] suite
 
+This is a synonym for gitlink:git-fsck[1].  Please refer to the
+documentation of that command.