path: root/Documentation
diff options
authorJunio C Hamano <>2005-06-28 21:58:33 (GMT)
committerLinus Torvalds <>2005-06-28 22:17:12 (GMT)
commit8a498a05c3c6b2f53db669b24f36257ab213eb4c (patch)
treedc1ac546f61b77b58eee4c9edb7975c3922b7c7a /Documentation
parent9a217f2a725b085982e57b2a900d46128713cb27 (diff)
[PATCH] Update fsck-cache (take 2)
The fsck-cache complains if objects referred to by files in .git/refs/ or objects stored in files under .git/objects/??/ are not found as stand-alone SHA1 files (i.e. found in alternate object pools GIT_ALTERNATE_OBJECT_DIRECTORIES or packed archives stored under .git/objects/pack). Although this is a good semantics to maintain consistency of a single .git/objects directory as a self contained set of objects, it sometimes is useful to consider it is OK as long as these "outside" objects are available. This commit introduces a new flag, --standalone, to git-fsck-cache. When it is not specified, connectivity checks and .git/refs pointer checks are taught that it is OK when expected objects do not exist under .git/objects/?? hierarchy but are available from an packed archive or in an alternate object pool. Another new flag, --full, makes git-fsck-cache to check not only the current GIT_OBJECT_DIRECTORY but also objects found in alternate object pools and packed GIT archives.a Signed-off-by: Junio C Hamano <> Signed-off-by: Linus Torvalds <>
Diffstat (limited to 'Documentation')
1 files changed, 17 insertions, 1 deletions
diff --git a/Documentation/git-fsck-cache.txt b/Documentation/git-fsck-cache.txt
index 0ef01c3..f1c18c1 100644
--- a/Documentation/git-fsck-cache.txt
+++ b/Documentation/git-fsck-cache.txt
@@ -9,7 +9,7 @@ git-fsck-cache - Verifies the connectivity and validity of the objects in the da
-'git-fsck-cache' [--tags] [--root] [--unreachable] [--cache] [<object>*]
+'git-fsck-cache' [--tags] [--root] [--unreachable] [--cache] [--standalone | --full] [<object>*]
@@ -37,6 +37,22 @@ OPTIONS
Consider any object recorded in the cache also as a head node for
an unreachability trace.
+ Limit checks to the contents of GIT_OBJECT_DIRECTORY
+ (.git/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;
+ cannot be used with --full.
+ Check not just objects in GIT_OBJECT_DIRECTORY
+ (.git/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 corresponding pack subdirectories in alternate
+ object pools; cannot be used with --standalone.
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