From: Andreas Ericsson Date: Thu, 10 Nov 2005 11:58:08 +0000 (+0100) Subject: git-clone: Keep remote names when cloning unless explicitly told not to. X-Git-Tag: v0.99.9h^2~24 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=0879aa28708dcdfa255fff631781e5178755498e;p=git.git git-clone: Keep remote names when cloning unless explicitly told not to. With this patch the following commands all clone into the local directory "repo". If repo exists, it will still barf. git-clone git://host.xz/repo.git git-clone /path/to/repo/.git git-clone host.xz:repo.git I ended up doing the same source-to-target sed'ing for all our company projects, so it was easier to add it directly to git-clone. Signed-off-by: Andreas Ericsson Signed-off-by: Junio C Hamano --- 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 ] +'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 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)