On Thu, 29 Jan 2009, Junio C Hamano wrote: > > I am not sure how old this bug is (nor if I can make Linus admit it is > even a bug---I suspect the code that is involved in this did not change > that much over time). I'll happily admit that it's a bug. I think our "fsck" logic kind of sucks - the default version really skips too damn much in the name of being fast and only look at loose objects, and --full is _so_ anal that it's silly and overkill for almost everything. We probably should have a middle ground (that should be the default), which does at least somewhat proper reachability analysis, checks alternates, and make the current "only check local loose objects" be an option like "git fsck --loose" (or "--local"). Out current "git fsck --full" is even mis-documented. The built-in help says that it means "also consider alternate objects", but that's just a small part of what it does. It _also_ verifies the pack-files, and that's actually the really expensive part. So "check_full" turns on _everything_, but some things that it turns on should be turned on already by default (the "alternates" directory check), while other parts of --full are just too expensive to ever be default (the pack-file check). Linus -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html