From 59c93929c8b98b7be00496d61fae8979bab1841d Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Fri, 29 Jun 2007 10:31:08 +0200 Subject: [PATCH] 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 --- git-clone.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) 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= -- 2.30.2