From: Andreas Ericsson Date: Thu, 10 Nov 2005 11:58:08 GMT Subject: [PATCH 1/2] git-clone: Keep remote names when cloning unless explicitly told not to. Message-ID: <20051110115808.418125BF88@nox.op5.se> 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 --- Documentation/git-clone.txt | 12 +++++++----- git-clone.sh | 2 ++ 2 files changed, 9 insertions(+), 5 deletions(-) applies-to: 6466c53ae80cddbb581c5fdb2332f9321fade867 fe6fb0e830253803798a2b70222d72e4107db1c1 diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt index fefd298..83f58ae 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 . GIT diff --git a/git-clone.sh b/git-clone.sh index 4fdd652..70cf7a2 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#/*\.git$##' -e 's#.*[/:]##') mkdir "$dir" && D=$( (cd "$dir" && git-init-db && pwd) --- 0.99.9.GIT