On Wed, 27 Mar 2013 11:23:45 -0700
Jonathan Nieder <jrnie...@gmail.com> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to