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> --- git-clone.sh | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
Show changes to git-clone.sh +2 −1
diff --git a/git-clone.sh b/git-clone.sh index bd44ce1..cdbbc20 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -70,7 +70,8 @@ Perhaps git-update-server-info needs to be run there?" git-http-fetch $v -a -w "$tname" "$sha1" "$1" || exit 1 done <"$clone_tmp/refs" rm -fr "$clone_tmp" - http_fetch "$1/HEAD" "$GIT_DIR/REMOTE_HEAD" || + http_fetch "$1/HEAD" "$GIT_DIR/REMOTE_HEAD" && + git-http-fetch $v -a $(cat "$GIT_DIR/REMOTE_HEAD") "$1" || rm -f "$GIT_DIR/REMOTE_HEAD" }
-- 1.5.2.2.585.g9cc0-dirty