From: Jeff King Date: Tue, 02 Jan 2007 14:49:40 GMT Subject: Re: confusion over the new branch and merge config Message-ID: <20070102144940.GA23932@coredump.intra.peff.net> In-Reply-To: <7vbqlvrldk.fsf@assigned-by-dhcp.cox.net> On Sat, Dec 23, 2006 at 01:51:03AM -0800, Junio C Hamano wrote: > 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. This [using tracking branches in branch.*.merge] seems to be working for me, but it is possible to get some confusing results with it. Try this config: [remote "origin"] url = /my/other/git/repo fetch = refs/heads/master:refs/heads/origin fetch = refs/heads/origin:refs/heads/junio [branch "master"] remote = origin merge = refs/heads/origin That is, we have a local tracking branch 'X' which has the same name as a remote branch 'X'. When we fetch, both will be marked for merge in FETCH_HEAD, and git-pull will attempt to do an octopus. Is this too convoluted a config to worry about (no, I don't actually do this in my repository -- I just constructed the most plausible reason I could think of for having conflicting names). I actually think having a branch.*.mergelocal would make just as much sense and would be more robust (plus, it should be safe and sensible for "git-checkout -b foo bar" to point branch.foo.mergelocal to refs/heads/bar). -Peff