[PATCH] Update fsck-cache (take 2)
authorJunio C Hamano <junkio@cox.net>
Tue, 28 Jun 2005 21:58:33 +0000 (14:58 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 28 Jun 2005 22:17:12 +0000 (15:17 -0700)
commit8a498a05c3c6b2f53db669b24f36257ab213eb4c
treedc1ac546f61b77b58eee4c9edb7975c3922b7c7a
parent9a217f2a725b085982e57b2a900d46128713cb27
[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 <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Documentation/git-fsck-cache.txt
fsck-cache.c