1#!/bin/sh 2. git-sh-setup-script|| die "Not a git archive" 3 4# Parse out parameters and then stop at remote, so that we can 5# translate it using .git/branches information 6has_all= 7has_force= 8has_exec= 9remote= 10 11while case"$#"in0)break;;esac 12do 13case"$1"in 14--all) 15 has_all=--all;; 16--force) 17 has_force=--force;; 18--exec=*) 19 has_exec="$1";; 20-*) 21 die "Unknown parameter$1";; 22*) 23set x "$@" 24shift 25break;; 26esac 27shift 28done 29 30. git-parse-remote-script 31remote=$(get_remote_url "$@") 32case"$has_all"in 33--all)set x ;; 34'')set x $(get_remote_refs_for_push "$@");; 35esac 36shift 37 38case"$remote"in 39http://* | https://* | git://* | rsync://* ) 40 die "Cannot push to$remote";; 41esac 42 43set x "$remote""$@";shift 44test"$has_all"&&set x "$has_all""$@"&&shift 45test"$has_force"&&set x "$has_force""$@"&&shift 46test"$has_exec"&&set x "$has_exec""$@"&&shift 47 48exec git-send-pack"$@"