aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/git-clone.txt12
-rwxr-xr-xgit-clone.sh2
2 files changed, 9 insertions, 5 deletions
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index fefd2985f..83f58ae53 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -8,7 +8,7 @@ git-clone - Clones a repository.
SYNOPSIS
--------
-'git-clone' [-l [-s]] [-q] [-n] [-u <upload-pack>] <repository> <directory>
+'git-clone' [-l [-s]] [-q] [-n] [-u <upload-pack>] <repository> [<directory>]
DESCRIPTION
-----------
@@ -68,9 +68,11 @@ OPTIONS
be any URL git-fetch supports.
<directory>::
- The name of a new directory to be cloned into. It is an
- error to specify an existing directory.
-
+ The name of a new directory to clone into. The "humanish"
+ part of the source repository is used if no directory is
+ explicitly given ("repo" for "/path/to/repo.git" and "foo"
+ for "host.xz:foo/.git"). Cloning into an existing directory
+ is not allowed.
Author
------
@@ -78,7 +80,7 @@ Written by Linus Torvalds <torvalds@osdl.org>
Documentation
--------------
-Documentation by Junio C Hamano.
+Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
GIT
diff --git a/git-clone.sh b/git-clone.sh
index f5ef70b8a..8e7150127 100755
--- a/git-clone.sh
+++ b/git-clone.sh
@@ -96,6 +96,8 @@ if base=$(get_repo_base "$repo"); then
fi
dir="$2"
+# 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')
mkdir "$dir" &&
D=$(
(cd "$dir" && git-init-db && pwd)