diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt index fefd2985f3..83f58ae536 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 ] +'git-clone' [-l [-s]] [-q] [-n] [-u ] [] DESCRIPTION ----------- @@ -68,9 +68,11 @@ OPTIONS be any URL git-fetch supports. :: - 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 Documentation -------------- -Documentation by Junio C Hamano. +Documentation by Junio C Hamano and the git-list . GIT diff --git a/git-clone.sh b/git-clone.sh index f5ef70b8af..8e7150127a 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)