X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-clone.sh;h=6887321972aab5825734dd81560f9c8cdd010660;hb=dcd0409fc545e881a61f522eb8f1d1a7e814eb94;hp=3b5475340d4c9687bd1ade4464689d23d6692f93;hpb=f1250edff5356cba7d8e71ec68418a4233b8bed0;p=git.git diff --git a/git-clone.sh b/git-clone.sh index 3b547534..68873219 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,16 +370,22 @@ 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/heads/$origin" $(git-rev-parse HEAD) ;; esac && (cd "$GIT_DIR/$remote_top" && find . -type f -print) | while read dotslref do name=`expr "$dotslref" : './\(.*\)'` && test "$head_points_at" = "$name" || - test "$origin" = "$head" || + test "$origin" = "$name" || 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