From: Junio C Hamano Date: Fri, 16 Feb 2007 02:24:45 GMT Subject: Re: [PATCH] Add git-unbundle - unpack objects and references for disconnected transfer Message-ID: <7vire2c00i.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <11715851973802-git-send-email-mdl123@verizon.net> Mark Levedahl 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.