From: Junio C Hamano Date: Tue, 21 Mar 2006 09:58:26 +0000 (-0800) Subject: clone: record the remote primary branch with remotes/$origin/HEAD X-Git-Tag: v1.3.0-rc1~13^2 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=5ceb05f82edc49ad5e6b0ad98d633c124a567309;p=git.git clone: record the remote primary branch with remotes/$origin/HEAD This matches c51d13692d4e451c755dd7da3521c5db395df192 commit to record the primary branch of the remote with a symbolic ref remotes/$origin/HEAD. The user can later change it to point at different branch to change the meaning of "$origin" shorthand. Signed-off-by: Junio C Hamano --- diff --git a/git-clone.sh b/git-clone.sh index 3b547534..5953e18a 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -45,7 +45,7 @@ Perhaps git-update-server-info needs to be run there?" if test -n "$use_separate_remote" && branch_name=`expr "$name" : 'heads/\(.*\)'` then - tname="remotes/$branch_name" + tname="remotes/$origin/$branch_name" else tname=$name fi @@ -370,7 +370,7 @@ then Pull: refs/heads/$head_points_at:refs/$origin_tracking" && case "$use_separate_remote" in t) git-update-ref HEAD "$head_sha1" ;; - *) git-update-ref "refs/$origin" $(git-rev-parse HEAD) + *) git-update-ref "refs/$origin" $(git-rev-parse HEAD) ;; esac && (cd "$GIT_DIR/$remote_top" && find . -type f -print) | while read dotslref @@ -379,7 +379,13 @@ Pull: refs/heads/$head_points_at:refs/$origin_tracking" && test "$head_points_at" = "$name" || test "$origin" = "$head" || echo "Pull: refs/heads/${name}:$remote_top/${name}" - done >>"$GIT_DIR/remotes/$origin" + done >>"$GIT_DIR/remotes/$origin" && + case "$use_separate_remote" in + t) + rm -f "refs/remotes/$origin/HEAD" + git-symbolic-ref "refs/remotes/$origin/HEAD" \ + "refs/remotes/$origin/$head_points_at" + esac esac case "$no_checkout" in