#!/bin/sh
-. git-sh-setup || die "Not a git archive"
+. git-sh-setup
usage () {
die "Usage: git push [--all] [--force] <repository> [<refspec>]"
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