Re: [PATCH] push: Alias pushurl from push rewrites
From: Rob Hoelz <hidden>
Date: 2016-06-15 22:56:33
On Wed, 27 Mar 2013 11:23:45 -0700 Jonathan Nieder [off-list ref] wrote:
Rob Hoelz wrote:quoted
--- a/remote.c +++ b/remote.c@@ -465,7 +465,11 @@ static void alias_all_urls(void) if (!remotes[i]) continue; for (j = 0; j < remotes[i]->pushurl_nr; j++) { - 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. Perhaps something like the following would work?
Are you sure? I create a copy, and compare the copy to the new URL. If they're the same (pushInsteadOf not found), I then use the insteadOf mapping to perform the alteration. Did I introduce a bug?