Hi, On Sat, 23 Dec 2006, Junio C Hamano wrote: > Junio C Hamano <junkio@xxxxxxx> writes: > > > Jeff King <peff@xxxxxxxx> writes: > > > >> BTW, is there some explanation why branch.*.merge specifies a _remote_ > >> head? The following would make much more sense to me: > >> > >> [branch "master"] > >> remote = origin > >> merge = refs/remotes/origin/master > > > > Only *if* you store it in that tracking branch. The name the > > other party gives _do_ matter to you anyway, because you have to > > _know_ it to fetch. What it does NOT matter is if you use a > > tracking branch, or if you do, which local tracking branch you > > use to track it. > > Having said that, I think we _could_ do this. > > If you (or other people) use branch.*.merge, with its value set > to remote name _and_ local name, and actually verify that either > form works without confusion, please report back and I'll apply. I do not claim to understand your patch (I have no idea if || or && is stronger in shell), but here is another proposition: if the config variablÃe starts with "refsremotes/", assume it is local. Ciao, Dscho