summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2005-09-26 17:17:09 -0700
committerLibravatar Junio C Hamano <junkio@cox.net>2005-09-26 18:04:17 -0700
commit036a72d8fa25d9c56c19ae4c761401a58c43b8f6 (patch)
tree8b81220f42ac36ffd53675547ed7204a70ff2854
parentPlug a small race in update-ref.c. (diff)
downloadtgif-036a72d8fa25d9c56c19ae4c761401a58c43b8f6.tar.xz
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>
-rwxr-xr-xgit-clone.sh21
1 files changed, 15 insertions, 6 deletions
diff --git a/git-clone.sh b/git-clone.sh
index a322a45995..71431319c0 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