On Thu, May 16, 2013 at 12:55 PM, Junio C Hamano <gits...@pobox.com> wrote:

> The value "upstream" for push.default does not make sense in the
> context of a triangular workflow, as you may well base your work on
> 'master' from the upstream, which is a branch with a very generic
> purpose (e.g. "to advance the state of the overall project"), but
> your work may have a more specific purpose (e.g. "to improve frotz
> feature") that deserves to be on a branch named after that specific
> purpose in the repository you publish your work on.  That is, after
> working on your 'frotz' branch this way:
>     git checkout -t -b frotz origin/master
>     work work work, commit commit commit

If the user has branch.autosetupmerge=always, that's not correct; even doing:

% git checkout -b frotz origin/master

Would setup the upstream. And I believe for v2.0 we do want
branch.autosetupmerge=always, but we might not want to always override
the push location.

> Now I have a curious value "single" in the above configuration that
> is not understood by current Git.  It is to trigger a new rule to
> modify the way remote.publish.push refspec is used:
>     When on branch 'frotz', where pushremote_get() would return
>     'publish', find where refs/heads/frotz would be pushed with the
>     refspec for that remote (i.e. refs/heads/*:refs/heads/topics/*
>     maps refs/heads/frotz to refs/heads/topics/frotz) and push only
>     that, i.e. update refs/heads/topics/frotz over there with the
>     tip of 'frotz' we are pushing.
> That may be a solution for those who do not find 'current' good
> enough.

What happens if I want to push to 'refs/heads/topics/frotz-for-juno'?

Felipe Contreras
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