On Thu, May 16, 2013 at 8:52 AM, Ramkumar Ramachandra
<[email protected]> 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 = [email protected]: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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html