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