projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
hash-object.c: type-fix to squelch compiler warnings.
[git.git]
/
git-clone.sh
diff --git
a/git-clone.sh
b/git-clone.sh
index
aafcc18
..
c09979a
100755
(executable)
--- a/
git-clone.sh
+++ b/
git-clone.sh
@@
-9,7
+9,7
@@
unset CDPATH
usage() {
unset CDPATH
usage() {
- echo >&2 "* git clone [-l [-s]] [-q] [-u <upload-pack>] [-n] <repo>
<dir>
"
+ echo >&2 "* git clone [-l [-s]] [-q] [-u <upload-pack>] [-n] <repo>
[<dir>]
"
exit 1
}
exit 1
}
@@
-96,7
+96,10
@@
if base=$(get_repo_base "$repo"); then
fi
dir="$2"
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)
) &&
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
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
. git-parse-remote &&
resolve_alternates "$repo" <"./.git/TMP_ALT" ) |
while read alt
@@
-191,7
+194,7
@@
yes,yes)
;;
esac
;;
esac
-cd
$D
|| exit
+cd
"$D"
|| exit
if test -f ".git/HEAD"
then
if test -f ".git/HEAD"
then