git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Ramkumar Ramachandra <artagnon@gmail.com>,
	Git List <git@vger.kernel.org>
Subject: Re: [PATCH 2/2] format-patch: introduce format.defaultTo
Date: Mon, 6 Jan 2014 15:55:26 -0500	[thread overview]
Message-ID: <20140106205526.GC643@sigill.intra.peff.net> (raw)
In-Reply-To: <xmqq1u0kj16h.fsf@gitster.dls.corp.google.com>

On Mon, Jan 06, 2014 at 12:38:30PM -0800, Junio C Hamano wrote:

> > I wonder if it is too late to try to clarify this dual usage. It kind of
> > seems like the push config is "this is the place I publish to". Which,
> > in many workflows, just so happens to be the exact same as the place you
> > forked from. Could we introduce a new branch.*.pushupstream variable
> > that falls back to branch.*.merge? Or is that just throwing more fuel on
> > the fire (more sand in the pit in my analogy, I guess).
> >
> > I admit I haven't thought it through yet, though. And even if it does
> > work, it may throw a slight monkey wrench in the proposed push.default
> > transition.
> 
> Yeah, when I say "upstream", I never mean it as "where I publish".
> Your upstream is where you get others' work from.

That's my thinking, as well, but it means the "upstream" push.default is
nonsensical. I've thought that all along, but it seems like other people
find it useful. I guess because they are in a non-triangular,
non-feature-branch setup (I suppose you could think of a central-repo
feature-branch workflow as a special form of triangular setup, where
the remote is bi-directional, but the branch names are triangular).

If we want to declare "push -u" and "push.default=upstream" as tools for
certain simple bi-directional workflows, that makes sense. But I suspect
it may cause extra confusion when people make the jump to using a
triangular workflow.

> For a "push to somewhere for safekeeping or other people to look at"
> triangular workflow, it does not make any sense to treat that "I
> publish there" place as an upstream (hence having branch.*.remote
> pointing at that publishing point).

You _might_ treat it the same way we treat the upstream, in some special
cases. For example, when you say "git status", it is useful to see how
your topic and the upstream have progressed (i.e., do I need to pull
from upstream?). But you may _also_ want to know how your local branch
differs from its pushed counterpart (i.e., do I have unsaved commits
here that I want to push up?).

So having two config options might help with that. Of course, your "push
upstream" (or whatever you want to call it) does not logically have one
value. You may push to several places, and would want to compare to
each.

> Once you stop doing that, and
> instead using branch.*.remote = origin, and branch.*.merge = master,
> where 'origin' is not your publishing point, @{u} will again start
> making sense, I think.
> 
> And I thought that is what setting "remote.pushdefault" to the
> publishing point repository was about.

If that were sufficient, then we would just need "push.default =
current", and not "upstream" (nor "simple"). I lobbied for that during
the discussion, but people seemed to think that "upstream" was
better/more useful. Maybe it was just because remote.pushdefault did not
exist then.

-Peff

  reply	other threads:[~2014-01-06 20:55 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-06 17:18 [PATCH 0/2] Minor convinience feature: format.defaultTo Ramkumar Ramachandra
2014-01-06 17:18 ` [PATCH 1/2] completion: complete format.coverLetter Ramkumar Ramachandra
2014-01-07 11:24   ` Ramkumar Ramachandra
2014-01-06 17:18 ` [PATCH 2/2] format-patch: introduce format.defaultTo Ramkumar Ramachandra
2014-01-06 18:35   ` Jonathan Nieder
2014-01-06 19:02     ` Ramkumar Ramachandra
2014-01-06 18:42   ` Junio C Hamano
2014-01-06 18:49     ` Ramkumar Ramachandra
2014-01-06 20:06       ` Junio C Hamano
2014-01-06 20:18         ` Jeff King
2014-01-06 20:29           ` John Szakmeister
2014-01-06 20:42             ` Jonathan Nieder
2014-01-06 21:13               ` John Szakmeister
2014-01-06 21:37                 ` Junio C Hamano
2014-01-06 22:54                 ` Ramkumar Ramachandra
2014-01-07  0:42                   ` John Szakmeister
2014-01-07 16:47                     ` Ramkumar Ramachandra
2014-01-06 20:43             ` Jeff King
2014-01-06 20:38           ` Junio C Hamano
2014-01-06 20:55             ` Jeff King [this message]
2014-01-06 21:21               ` Junio C Hamano
2014-01-06 22:10           ` Ramkumar Ramachandra
2014-01-07 20:56             ` Jeff King
2014-01-07 21:07               ` Junio C Hamano
2014-01-07 21:24                 ` Jeff King
2014-01-07 22:06                   ` Junio C Hamano
2014-01-07 22:17                     ` Jeff King
2014-01-07 22:27                       ` Junio C Hamano
2014-04-10 19:17             ` Felipe Contreras
2014-01-06 21:59         ` Ramkumar Ramachandra
2014-01-06 22:22           ` Junio C Hamano
2014-01-06 22:47             ` Ramkumar Ramachandra
2014-01-07 21:06               ` Jeff King
2014-01-07 21:25                 ` Ramkumar Ramachandra
2014-01-07 21:30                   ` Jeff King
2014-04-10 19:20                   ` Felipe Contreras
2014-01-06 17:25 ` [PATCH 0/2] Minor convinience feature: format.defaultTo Ramkumar Ramachandra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140106205526.GC643@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=artagnon@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).