On Thu, May 16, 2013 at 8:52 AM, Ramkumar Ramachandra <artagnon@xxxxxxxxx> wrote: > Felipe Contreras wrote: >> Does branch.<name>.merge overrides remote.<name>.fetch? No. They >> complement each other. > > I often wonder if you are reading what you're responding to: And I wonder if you care if what you say is actually true. > remote.<name>.fetch is operated on by fetch, while branch.<name>.merge > is operated on by merge; they are really orthogonal. You keep saying they are orthogonal, but they are not. Read remote.c::branch_get(). And try this: [remote "origin"] url = git@xxxxxxxxxx:felipec/git.git # fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master Can you merge? No. Can you do master@{u}? No. Several other things don't work. >> The same that 'git pull' does when both branch.<name>.merge and >> remote.<name>.fetch are set. > > Are you reading this? > > git pull _fetches_ from remote.<name>.fetch and _merges_ from > branch.<name>.merge. What is "the same" in git push terms? It's a > simple question; which ref does push update: the one specified by > remote.<name>.push or branch.<name>.push? [remote] pushdefault = origin [remote "origin"] push = refs/head/*:refs/heads/for/* [branch "master"] pushremote = github push = refs/heads/new-master [branch "next"] pushremote = origin push = refs/heads/new-next % git checkout master && git push Where should it go? github/new-master. Obviously. % git checkout next && git push Where should it go? origin/new-next. Obviously. % git checkout main && git push Where should it go? origin/for/maint. Obviously. I don't see what the big deal is. >> Of course it would work. Does @{u} stop working when remote.<name>.fetch is set? > > It doesn't work when _only_ remote.<name>.fetch is set: you need > branch.<name>.merge to determine @{u}, just like you would need > branch.<name>.push to determine @{d}. So? The answer is no. >> It is a downstream branch. > > Which commit does git show @{d} show you? There is no ref called > refs/for/master. The same commit 'git show @{-10000}' shows you. The fact it doesn't resolve to a commit doesn't mean @{-100} is not the nth-hundredth previous checkout. -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html