[PATCH] Fix test failure due to overly strict .git directory tests
[gitweb.git] / Documentation / git-fsck-cache.txt
index f1c18c10d82c63cab74779a4feacd2cde8671767..13f19653febee23a673fb87e0399fd65a3b29707 100644 (file)
@@ -9,7 +9,7 @@ git-fsck-cache - Verifies the connectivity and validity of the objects in the da
 
 SYNOPSIS
 --------
-'git-fsck-cache' [--tags] [--root] [--unreachable] [--cache] [--standalone | --full] [<object>*]
+'git-fsck-cache' [--tags] [--root] [--unreachable] [--cache] [--standalone | --full] [--strict] [<object>*]
 
 DESCRIPTION
 -----------
@@ -39,20 +39,28 @@ OPTIONS
 
 --standalone::
        Limit checks to the contents of GIT_OBJECT_DIRECTORY
-       (.git/objects), making sure that it is consistent and
+       ($GIT_DIR/objects), making sure that it is consistent and
        complete without referring to objects found in alternate
        object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES,
-       nor packed GIT archives found in .git/objects/pack;
+       nor packed GIT archives found in $GIT_DIR/objects/pack;
        cannot be used with --full.
 
 --full::
        Check not just objects in GIT_OBJECT_DIRECTORY
-       (.git/objects), but also the ones found in alternate
+       ($GIT_DIR/objects), but also the ones found in alternate
        object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES,
-       and in packed GIT archives found in .git/objects/pack
+       and in packed GIT archives found in $GIT_DIR/objects/pack
        and corresponding pack subdirectories in alternate
        object pools; cannot be used with --standalone.
 
+--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
@@ -61,11 +69,7 @@ that aren't readable from any of the specified head nodes.
 
 So for example
 
-       git-fsck-cache --unreachable $(cat .git/HEAD)
-
-or, for Cogito users:
-
-       git-fsck-cache --unreachable $(cat .git/refs/heads/*)
+       git-fsck-cache --unreachable $(cat .git/HEAD .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
@@ -114,18 +118,18 @@ sha1 mismatch <object>::
        The database has an object who's sha1 doesn't match the
        database value.
        This indicates a serious data integrity problem.
-       (note: this error occured during early git development when
-       the database format changed.)
 
 Environment Variables
 ---------------------
 
 GIT_OBJECT_DIRECTORY::
-       used to specify the object database root (usually .git/objects)
+       used to specify the object database root (usually $GIT_DIR/objects)
 
 GIT_INDEX_FILE::
-       used to specify the cache
+       used to specify the index file of the cache
 
+GIT_ALTERNATE_OBJECT_DIRECTORIES:
+       used to specify additional object database roots (usually unset)
 
 Author
 ------