From: Junio C Hamano Date: Fri, 30 Aug 2013 04:17:57 GMT Subject: Re: [PATCH] has_sha1_file: re-check pack directory before giving up Message-ID: In-Reply-To: <20130830011052.GA21895@sigill.intra.peff.net> Jeff King writes: > When we read a sha1 file, we first look for a packed > version, then a loose version, and then re-check the pack > directory again before concluding that we cannot find it. > This lets us handle a process that is writing to the > repository simultaneously (e.g., receive-pack writing a new > pack followed by a ref update, or git-repack packing > existing loose objects into a new pack). > > However, we do not do the same trick with has_sha1_file; we > only check the packed objects once, followed by loose > objects. This means that we might incorrectly report that we > do not have an object, even though we could find it if we > simply re-checked the pack directory. Hmm, would the same reasoning apply to sha1_object_info(), or do existing critical code happen not to have a problematic calling sequence like you noticed for repack?