X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-clone.sh;h=699205eb6644aeb8668aa56abddf4f00d9af2642;hb=4275df517022604f5c33ba05ae45a885b84e3472;hp=aafcc18abafb8befd82165587cc9142ed42eb009;hpb=66c9ec25553ce7332c46e2017b9c4d7c26310fff;p=git.git diff --git a/git-clone.sh b/git-clone.sh index aafcc18a..699205eb 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -9,7 +9,7 @@ unset CDPATH usage() { - echo >&2 "* git clone [-l [-s]] [-q] [-u ] [-n] " + echo >&2 "* git clone [-l [-s]] [-q] [-u ] [-n] []" exit 1 } @@ -73,7 +73,7 @@ while *,-n) no_checkout=yes ;; *,-l|*,--l|*,--lo|*,--loc|*,--loca|*,--local) use_local=yes ;; *,-s|*,--s|*,--sh|*,--sha|*,--shar|*,--share|*,--shared) - local_shared=yes ;; + local_shared=yes; use_local=yes ;; *,-q|*,--quiet) quiet=-q ;; 1,-u|1,--upload-pack) usage ;; *,-u|*,--upload-pack) @@ -96,7 +96,10 @@ if base=$(get_repo_base "$repo"); then fi dir="$2" -mkdir "$dir" && +# Try using "humanish" part of source repo if user didn't specify one +[ -z "$dir" ] && dir=$(echo "$repo" | sed -e 's|/$||' -e 's|:*/*\.git$||' -e 's|.*/||g') +[ -e "$dir" ] && echo "$dir already exists." && usage +mkdir -p "$dir" && D=$( (cd "$dir" && git-init-db && pwd) ) && @@ -163,7 +166,7 @@ yes,yes) rm -f "$D/.git/TMP_ALT" if test -f "$D/.git/TMP_ALT" then - ( cd $D && + ( cd "$D" && . git-parse-remote && resolve_alternates "$repo" <"./.git/TMP_ALT" ) | while read alt @@ -191,7 +194,7 @@ yes,yes) ;; esac -cd $D || exit +cd "$D" || exit if test -f ".git/HEAD" then