On Wed, 27 Mar 2013 11:23:45 -0700
Jonathan Nieder <[email protected]> wrote:
> Rob Hoelz wrote:
>
> > --- 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?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html