Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Ericsson <exon@op5.se>2005-11-10 14:58:08 +0300
committerJunio C Hamano <junkio@cox.net>2005-11-11 12:34:26 +0300
commit0879aa28708dcdfa255fff631781e5178755498e (patch)
tree3b8f42543c1d6846edd2b005f99609d202ac0a96
parent0867b0125a7b0ed02c7850486393c56ae8a719e3 (diff)
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 <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
-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 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 <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 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)