From: Sven Verdoolaege Date: Fri, 29 Jun 2007 08:31:08 +0000 (+0200) Subject: git-clone: fetch possibly detached HEAD over dumb http X-Git-Tag: v1.5.3-rc0~19 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=59c93929c8b98b7be00496d61fae8979bab1841d;p=git.git 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 Signed-off-by: Junio C Hamano --- diff --git a/git-clone.sh b/git-clone.sh index bd44ce1c8..4cbf60f55 100755 --- a/git-clone.sh +++ b/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=