Subject: Re: [PATCH] Add git-unbundle - unpack objects and references for disconnected transfer

From: Mark Levedahl <[email-masked]>
Date: Fri, 16 Feb 2007 01:22:40 -0500

Junio C Hamano wrote:
> Mark Levedahl <[email-masked]> writes:
>
>   
>> +# check that the prerequisites exist before unbundling.
>> +for sha1 in $prereqs ; do
>> +	git-rev-parse --verify $sha1 >& /dev/null || die "Prerequisite commit $sha1 not found."
>> +done
>>     
>
> If you are checking only boundary commits this is too weak a
> check and unsafe (we used to have the same bug in http fetch
> long time ago).  You have to make sure not only the object
> exists, but also it is reachable by one of the refs.
>
> One way to check that would be to ask "describe --all" if it can
> find a ref that can reach that commit.  It would error out if
> the commit object exists but is not reachable from any of the
> refs
I'm not sure I follow the logic here. Assuming the object is a 
prerequisite of the bundle and exists, it will be reachable from an 
updated reference once the bundle is applied, no? In any case, Linus' 
suggestion is very neat and fast, and I presume reliable.

Mark