Add url.<base>.pushInsteadOf: URL rewriting for push only

This configuration option allows systematically rewriting fetch-only URLs
to push-capable URLs when used with push.  For instance:

[url "ssh://example.org/"]
    pushInsteadOf = "git://example.org/"

This will allow clones of "git://example.org/path/to/repo" to subsequently
push to "ssh://example.org/path/to/repo", without manually configuring
pushurl for that remote.

Includes documentation for the new option, bash completion updates, and
test cases (both that pushInsteadOf applies to push, that it does not
apply to fetch, and that it is ignored when pushURL is already defined).

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Josh Triplett
2009-09-07 01:56:33 -07:00
committed by Junio C Hamano
parent d071d94296
commit 1c2eafb89b
5 changed files with 106 additions and 10 deletions

View File

@ -1532,7 +1532,7 @@ _git_config ()
url.*.*)
local pfx="${cur%.*}."
cur="${cur##*.}"
__gitcomp "insteadof" "$pfx" "$cur"
__gitcomp "insteadOf pushInsteadOf" "$pfx" "$cur"
return
;;
esac