X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-clone.sh;h=6fa0daaacf4c677890768037c128d1d5e967a254;hb=ae448e3854d8b6e7e37aa88fa3917f5dd97f3210;hp=de59904d56155faecedbd7cd4818a741dde43ffd;hpb=51937e533a39078a6d440b8a0b89bb491061c80b;p=git.git diff --git a/git-clone.sh b/git-clone.sh index de59904d..6fa0daaa 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -29,7 +29,7 @@ http_fetch () { clone_dumb_http () { # $1 - remote, $2 - local cd "$2" && - clone_tmp='.git/clone-tmp' && + clone_tmp="$GIT_DIR/clone-tmp" && mkdir -p "$clone_tmp" || exit 1 http_fetch "$1/info/refs" "$clone_tmp/refs" || { echo >&2 "Cannot get remote repository information. @@ -207,15 +207,11 @@ mkdir -p "$dir" && D=$(cd "$dir" && pwd) && trap 'err=$?; cd ..; rm -r "$D"; exit $err' 0 case "$bare" in -yes) GIT_DIR="$D" ;; -*) GIT_DIR="$D/.git" ;; -esac && export GIT_DIR && git-init-db ${template+"$template"} || usage -case "$bare" in yes) GIT_DIR="$D" ;; *) GIT_DIR="$D/.git" ;; -esac +esac && export GIT_DIR && git-init-db ${template+"$template"} || usage if test -n "$reference" then @@ -391,11 +387,16 @@ Pull: refs/heads/$head_points_at:$origin_track" && (cd "$GIT_DIR/$remote_top" && find . -type f -print) | while read dotslref do - name=`expr "$dotslref" : './\(.*\)'` && - test "$use_separate_remote" = '' && { - test "$head_points_at" = "$name" || - test "$origin" = "$name" - } || + name=`expr "$dotslref" : './\(.*\)'` + if test "z$head_points_at" = "z$name" + then + continue + fi + if test "$use_separate_remote" = '' && + test "z$origin" = "z$name" + then + continue + fi echo "Pull: refs/heads/${name}:$remote_top/${name}" done >>"$GIT_DIR/remotes/$origin" && case "$use_separate_remote" in