summaryrefslogtreecommitdiff
path: root/git-clone.sh
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-09-27 00:17:09 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-09-27 01:04:17 (GMT)
commit036a72d8fa25d9c56c19ae4c761401a58c43b8f6 (patch)
tree8b81220f42ac36ffd53675547ed7204a70ff2854 /git-clone.sh
parent152da3dfcf2c16d7c240a0dbdcb8a3ae1d332d81 (diff)
downloadgit-036a72d8fa25d9c56c19ae4c761401a58c43b8f6.zip
git-036a72d8fa25d9c56c19ae4c761401a58c43b8f6.tar.gz
git-036a72d8fa25d9c56c19ae4c761401a58c43b8f6.tar.bz2
git-clone: check out "master" by default.
And with -n flag you can tell it not to. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-clone.sh')
-rwxr-xr-xgit-clone.sh21
1 files changed, 15 insertions, 6 deletions
diff --git a/git-clone.sh b/git-clone.sh
index a322a45..7143131 100755
--- a/git-clone.sh
+++ b/git-clone.sh
@@ -9,7 +9,7 @@
unset CDPATH
usage() {
- echo >&2 "* git clone [-l [-s]] [-q] [-u <upload-pack>] <repo> <dir>"
+ echo >&2 "* git clone [-l [-s]] [-q] [-u <upload-pack>] [-n] <repo> <dir>"
exit 1
}
@@ -61,10 +61,12 @@ Perhaps git-update-server-info needs to be run there?"
quiet=
use_local=no
local_shared=no
+no_checkout=
upload_pack=
while
case "$#,$1" in
0,*) break ;;
+ *,-n) no_checkout=yes ;;
*,-l|*,--l|*,--lo|*,--loc|*,--loca|*,--local) use_local=yes ;;
*,-s|*,--s|*,--sh|*,--sha|*,--shar|*,--share|*,--shared)
local_shared=yes ;;
@@ -186,9 +188,16 @@ yes,yes)
;;
esac
-# Update origin.
-mkdir -p "$D/.git/remotes/" &&
-rm -f "$D/.git/remotes/origin" &&
-echo >"$D/.git/remotes/origin" \
-"URL: $repo
+cd $D || exit
+
+if test -f ".git/HEAD"
+then
+ mkdir -p .git/remotes || exit
+ echo >.git/remotes/origin \
+ "URL: $repo
Pull: master:origin"
+ case "$no_checkout" in
+ '')
+ git checkout
+ esac
+fi