Re: [PATCH] push: Alias pushurl from push rewrites
From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:56:33
Jonathan Nieder wrote:
Rob Hoelz wrote:
quoted
--- a/remote.c +++ b/remote.c@@ -465,7 +465,11 @@ static void alias_all_urls(void)
[...]
quoted
- 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