summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: bffe71f)
raw | patch | inline | side by side (parent: bffe71f)
author | Sven Verdoolaege <skimo@liacs.nl> | |
Fri, 29 Jun 2007 08:31:08 +0000 (10:31 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Mon, 2 Jul 2007 08:33:44 +0000 (01:33 -0700) |
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>
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>
git-clone.sh | patch | blob | history |
diff --git a/git-clone.sh b/git-clone.sh
index bd44ce1c84175e9cce97489a363fe340b74b7f23..4cbf60f554cee4560559cc3aa4e7d6fbb90e68ed 100755 (executable)
--- a/git-clone.sh
+++ b/git-clone.sh
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=