On Wed, Mar 27, 2013 at 03:49:38PM -0400, Jeff King wrote: > On Wed, Mar 27, 2013 at 11:23:15AM -0700, Rich Fromm wrote: > > > But I'm still somewhat confused about what is and is not checked under what > > conditions. Consider the three statements: > > > > # 1 > > git clone --mirror myuser@myhost:my_repo > > > > # 2 > > git clone --mirror --config transfer.fsckObjects=true myuser@myhost:my_repo > > > > # 3 > > git clone --mirror myuser@myhost:my_repo && cd my_repo.git && git-fsck > > > > Are 2 and 3 equivalent? Or is there an increasing level of checking that > > occurs from 1 to 2, and from 2 to 3? My guess is the latter, but perhaps > > this could be clearer in the man pages. > > 2 and 3 are not exactly equivalent, in that they are implemented > slightly differently, but I do not know offhand of any case that would > pass 2 but not 3. We do check reachability with transfer.fsckObjects. Oh, and in the case of #1, I think we would already find corruption, in that index-pack will expand and check the sha1 of each object we receive. The transfer.fsckObjects check adds some semantic checks as well (e.g., making sure author identities are well-formed). Clone will not currently detect missing objects and reachability without transfer.fsckObjects set, but that is IMHO a bug; fetch will notice it, and clone should behave the same way. -Peff -- 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