summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 0867b01)
raw | patch | inline | side by side (parent: 0867b01)
author | Andreas Ericsson <exon@op5.se> | |
Thu, 10 Nov 2005 11:58:08 +0000 (12:58 +0100) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Fri, 11 Nov 2005 09:34:26 +0000 (01:34 -0800) |
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>
"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>
Documentation/git-clone.txt | patch | blob | history | |
git-clone.sh | patch | blob | history |
index fefd2985f3f1424ddaff24fed6b57a85b86f8acc..83f58ae5365f05297a432cbd147c496e9fff8ba1 100644 (file)
SYNOPSIS
--------
-'git-clone' [-l [-s]] [-q] [-n] [-u <upload-pack>] <repository> <directory>
+'git-clone' [-l [-s]] [-q] [-n] [-u <upload-pack>] <repository> [<directory>]
DESCRIPTION
-----------
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
------
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 f5ef70b8afa792671f5aa6e4dd752e63c376c6dd..8e7150127aff222059f3549a8b7f647b8f792c7d 100755 (executable)
--- a/git-clone.sh
+++ b/git-clone.sh
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)