Anonymous avatar Anonymous committed c485104

Add usage help to

Also clarify failure to push to read-only remote. Especially,
state why rsync:// is not used for pushing.

[jc: ideally rsync should not be used for anything]

Signed-off-by: Chris Shoemaker <c.shoemaker at>
Signed-off-by: Junio C Hamano <>;

Comments (0)

Files changed (1)

 . git-sh-setup || die "Not a git archive"
+usage () {
+    die "Usage: git push [--all] [--force] <repository> [<refspec>]"
 # Parse out parameters and then stop at remote, so that we can
 # translate it using .git/branches information
 		has_exec="$1" ;;
-		die "Unknown parameter $1" ;;
+                usage ;;
 		set x "$@"
 case "$remote" in
-http://* | https://* | git://* | rsync://* )
-	die "Cannot push to $remote" ;;
+http://* | https://* | git://*)
+	die "Cannot use READ-ONLY transport to push to $remote" ;;
+        die "Pushing with rsync transport is deprecated" ;;
 set x "$remote" "$@"; shift
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.