X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-clone.sh;h=cf410faaa38af6858dbe11ce7516bcd90c2882e3;hb=b992933853ccffac85f7e40310167ef7b8f0432e;hp=73fc919800357b35d8e2550a38517f2b58ece6c3;hpb=4fb66a62eeb7bfec115cd0058d7a05ab62fc23e7;p=git.git diff --git a/git-clone.sh b/git-clone.sh index 73fc9198..cf410faa 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -55,6 +55,7 @@ no_checkout= upload_pack= bare= origin=origin +origin_override= while case "$#,$1" in 0,*) break ;; @@ -73,6 +74,11 @@ while echo >&2 "'$2' is not suitable for a branch name" exit 1 } + test -z "$origin_override" || { + echo >&2 "Do not give more than one -o options." + exit 1 + } + origin_override=yes origin="$2"; shift ;; 1,-u|1,--upload-pack) usage ;; @@ -87,7 +93,15 @@ do done # --bare implies --no-checkout -test =z "$bare" || no_checkout=yes +if test yes = "$bare" +then + if test yes = "$origin_override" + then + echo >&2 '--bare and -o $origin options are incompatible.' + exit 1 + fi + no_checkout=yes +fi # Turn the source into an absolute path if # it is local @@ -139,7 +153,7 @@ yes,yes) fi && rm -f "$GIT_DIR/objects/sample" && cd "$repo" && - find objects -depth -print | cpio -puamd$l "$GIT_DIR/" || exit 1 + find objects -depth -print | cpio -pumd$l "$GIT_DIR/" || exit 1 ;; yes) mkdir -p "$GIT_DIR/objects/info" @@ -192,7 +206,13 @@ yes,yes) fi ;; http://*) - clone_dumb_http "$repo" "$D" + if test -z "@@NO_CURL@@" + then + clone_dumb_http "$repo" "$D" + else + echo >&2 "http transport not supported, rebuild Git with curl support" + exit 1 + fi ;; *) cd "$D" && case "$upload_pack" in