On Wed, Mar 27, 2013 at 04:18:19PM -0700, Jonathan Nieder wrote:
> Josh Triplett wrote:
> > I have a .gitconfig in my git-managed home
> > directory which sets pushInsteadOf so that I can clone via git:// and
> > immediately have working push. I work with a number of systems that
> > don't have inbound access to each other but do have outbound access to
> > the network; on some of these "satellite" boxes, I can't push changes
> > directly to the server pushInsteadOf points to, so I can explicitly set
> > pushurl in .git/config for that repository, which overrides the
> > pushInsteadOf. This change would break that configuration.
> Would it? As long as your pushurl does not start with git://, I think
> your configuration would still work fine.
I had to think about it for a while, but I think you're right; I
inferred a behavior that the patch didn't actually add or have anything
to do with, namely having the result of applying pushInsteadOf to the
non-push URL override the pushUrl.
OK, I take it back. I *can* imagine configurations that this change
would break, since it does change intentional and documented behavior,
but I don't have any such configuration. The only such configuration I
can imagine involves directly counting on the non-rewriting of pushUrl,
by using pushInsteadOf to rewrite urls and then sometimes using pushUrl
to override that and point back at the un-rewritten URL. And while
supported, that does seem *odd*.
Objection withdrawn; if nobody can come up with a sensible configuration
that relies on the documented behavior, I don't particularly care if it
> After this patch, neither pushInsteadOf nor pushUrl overrides the
> other one. The rule is:
> 1. First, get the URL from the remote's configuration, based
> on whether you are fetching or pushing.
> (At this step, in your setup git chooses the URL specified
> with pushurl in your .git/config.)
> 2. Next, apply the most appropriate url.*.insteadOf or
> url.*.pushInsteadOf rule, based on whether you are fetching
> or pushing.
> (At this step, no rewrite rules apply, so the URL is used
> as is.)
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html