X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-push.sh;h=1c5cf80f8786eb20c6092a8fbce48e1f1c1cb9e1;hb=1e80e0449248edb77b0fb9853f4a3404a599e207;hp=00d715059c4b751bef9adaf3debbe56ae1cf19ac;hpb=215a7ad1ef790467a4cd3f0dcffbd6e5f04c38f7;p=git.git diff --git a/git-push.sh b/git-push.sh index 00d71505..1c5cf80f 100755 --- a/git-push.sh +++ b/git-push.sh @@ -1,5 +1,7 @@ #!/bin/sh -. git-sh-setup || die "Not a git archive" + +USAGE='[--all] [--force] [...]' +. git-sh-setup # Parse out parameters and then stop at remote, so that we can # translate it using .git/branches information @@ -18,7 +20,7 @@ do --exec=*) has_exec="$1" ;; -*) - die "Unknown parameter $1" ;; + usage ;; *) set x "$@" shift @@ -28,7 +30,8 @@ do done case "$#" in 0) - die "Where would you want to push today?" ;; + echo "Where would you want to push today?" + usage ;; esac . git-parse-remote @@ -40,8 +43,10 @@ esac shift case "$remote" in -http://* | https://* | git://* | rsync://* ) - die "Cannot push to $remote" ;; +git://*) + die "Cannot use READ-ONLY transport to push to $remote" ;; +rsync://*) + die "Pushing with rsync transport is deprecated" ;; esac set x "$remote" "$@"; shift @@ -49,4 +54,9 @@ test "$has_all" && set x "$has_all" "$@" && shift test "$has_force" && set x "$has_force" "$@" && shift test "$has_exec" && set x "$has_exec" "$@" && shift -exec git-send-pack "$@" +case "$remote" in +http://* | https://*) + exec git-http-push "$@";; +*) + exec git-send-pack "$@";; +esac