Jonathan Nieder wrote: > Rob Hoelz wrote: >> --- a/remote.c >> +++ b/remote.c >> @@ -465,7 +465,11 @@ static void alias_all_urls(void) [...] >> - remotes[i]->pushurl[j] = alias_url(remotes[i]->pushurl[j], &rewrites); >> + char *copy = xstrdup(remotes[i]->pushurl[j]); >> + remotes[i]->pushurl[j] = alias_url(remotes[i]->pushurl[j], &rewrites_push); >> + if (!strcmp(copy, remotes[i]->pushurl[j])) >> + remotes[i]->pushurl[j] = alias_url(remotes[i]->pushurl[j], &rewrites); >> + free(copy); > > Interesting. > > Suppose I configure > > [url "git://anongit.myserver.example.com/"] > insteadOf = myserver.example.com: > [url "myserver:"] > pushInsteadOf = myserver.example.com: > > The above code would make the insteadOf rule apply instead of > pushInsteadOf, even when pushing. Sorry, typo. The configuration in the example above should have been [url "git://anongit.myserver.example.com/"] insteadOf = myserver.example.com: [url "myserver.example.com:"] pushInsteadOf = myserver.example.com: In other words, suppose I set url.*.insteadof to point to a faster address for fetching alongside url.*.pushinsteadof requesting that the original address should still be used for pushing. Thanks again for tackling this. Jonathan -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html