#!/bin/sh
-. git-sh-setup || die "Not a git archive"
-
-usage () {
- die "Usage: git push [--all] [--force] <repository> [<refspec>]"
-}
+USAGE='[--all] [--force] <repository> [<refspec>...]'
+. git-sh-setup
# Parse out parameters and then stop at remote, so that we can
# translate it using .git/branches information
shift
case "$remote" in
-http://* | https://* | git://*)
+git://*)
die "Cannot use READ-ONLY transport to push to $remote" ;;
rsync://*)
die "Pushing with rsync transport is deprecated" ;;
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