[PATCH 1/2] git-clone: Keep remote names when cloning unless explicitly told not to.
From: Andreas Ericsson <hidden>
Date: 2016-06-15 22:42:11
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
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 <redacted> --- 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 <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 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 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