git-clone: fetch possibly detached HEAD over dumb http
git-clone supports cloning from a repo with detached HEAD,
but if this HEAD is not behind any branch tip then it
would not have been fetched over dumb http, resulting in a
fatal: Not a valid object name HEAD
Since 928c210a
, this would also happen on a http repo
with a HEAD that is a symbolic link where someone has
forgotton to run update-server-info.
Signed-off-by: Sven Verdoolaege <skimo@liacs.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
bffe71f4cd
commit
59c93929c8
11
git-clone.sh
11
git-clone.sh
@ -72,6 +72,17 @@ Perhaps git-update-server-info needs to be run there?"
|
||||
rm -fr "$clone_tmp"
|
||||
http_fetch "$1/HEAD" "$GIT_DIR/REMOTE_HEAD" ||
|
||||
rm -f "$GIT_DIR/REMOTE_HEAD"
|
||||
if test -f "$GIT_DIR/REMOTE_HEAD"; then
|
||||
head_sha1=`cat "$GIT_DIR/REMOTE_HEAD"`
|
||||
case "$head_sha1" in
|
||||
'ref: refs/'*)
|
||||
;;
|
||||
*)
|
||||
git-http-fetch $v -a "$head_sha1" "$1" ||
|
||||
rm -f "$GIT_DIR/REMOTE_HEAD"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
quiet=
|
||||
|
Loading…
Reference in New Issue
Block a user