From: Marc Branchaud <marcnarc@xiplink.com>
To: "Carlos Martín Nieto" <cmn@elego.de>
Cc: Matthieu Moy <Matthieu.Moy@imag.fr>,
git@vger.kernel.org, gitster@pobox.com
Subject: Re: [RFC PATCH] push: start warning upcoming default change for push.default
Date: Fri, 09 Mar 2012 13:30:29 -0500 [thread overview]
Message-ID: <4F5A4C45.7070406@xiplink.com> (raw)
In-Reply-To: <1331288715.21444.38.camel@beez.lab.cmartin.tk>
On 12-03-09 05:25 AM, Carlos Martín Nieto wrote:
> On Fri, 2012-03-09 at 09:31 +0100, Matthieu Moy wrote:
>> More inexperienced users will often push right after committing, and at
>> that time they're still very much in the "working-on-one-branch" state of
>> mind. "upstream" would be a safer default mode of operation for 'git push'
>> for them even when they have their personal publishing repository (also in
>> a shared public repository settings, "matching" is rarely the right
>> default mode).
>>
>> In preparation for flipping the default to the "upstream" mode from the
>> "matching" mode that is the upstream default, start warning users when they
>> rely on unconfigured "git push" to default to the "matching" mode.
>>
>> Original patch and commit message by: Junio C Hamano<gitster@pobox.com>
>>
>> Signed-off-by: Matthieu Moy<Matthieu.Moy@imag.fr>
>> ---
>>
>> This patch prepares a transition to 'upstream', unlike the previous
>> version which was advertizing 'current'. In most case, this would be
>> the same, but 'upstream' is probably more sensible in case it points
>> to a branch other than 'current'. I don't care much either way.
>>
>
> For people using git as VCS that happens to have local history rather
> than taking full advantage of the distributed nature (or who aren't
> aware of it or don't get it), 'matching' is bound to be confusing.
> However, IMO 'current' makes more sense. Consider
>
> git clone ../foo; cd foo;
> git checkout -b topic origin/develop
> ed main.c
> git push
>
> With upstream I've just updated origin's dev branch, even though I might
> have meant to create a new 'topic' branch. Alternatively, I might have
> run
>
> git checkout -b topic
>
> in which case I certainly want 'current'. I don't see that workflow
> where the upstream branch is named differently from the local one should
> be that big a consideration when trying to determine a default to help
> people unfamiliar as they'd be certainly more likely to consider branch
> names to be binding. Maybe you have seen this differently in your
> students, but that's the impression I get from #git.
I disagree and consider "upstream" to be the more reasonable default.
I think that an incantation like
git checkout -b topic origin/master
makes it pretty clear that topic is meant to be merged into origin's
master branch. And so a simple "git push" as you describe I think
*should* update origin's master branch.
OTOH, with a default of "current" I believe the simple "git push" will
create a new branch named topic in the origin repo. To me that's
implying too much from the simple "git push" command. If the user
really wants a branch named topic in the origin repo, I think it's
reasonable for git's default behaviour to require the user to say so
explicitly ("git push origin topic").
I also disagree that an incantation like
git checkout -b topic
means that the user wants "current" when they "git push". There's no
indication here that the user is at all interested in remote branches
with this topic, and I think it would be presumptuous for git to make
such a link by default. (Besides, what if the user has more than one
remote? Which should be used?)
In this case the "upstream" default would mean that git couldn't
identify a remote for the topic branch and so the "git push" would fail.
I think that's appropriate, because the user never told git how the
topic branch relates to any remote branches.
M.
next prev parent reply other threads:[~2012-03-09 18:41 UTC|newest]
Thread overview: 116+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-08 10:01 git push default behaviour? Jeremy Morton
2012-03-08 10:11 ` Thomas Rast
2012-03-08 10:13 ` Jeremy Morton
2012-03-08 10:28 ` Carlos Martín Nieto
2012-03-08 10:38 ` Jeremy Morton
2012-03-08 10:42 ` Carlos Martín Nieto
2012-03-08 10:43 ` Jeremy Morton
2012-03-08 18:22 ` Junio C Hamano
2012-03-08 18:35 ` Matthieu Moy
2012-03-08 19:03 ` Andreas Krey
2012-03-08 19:29 ` Junio C Hamano
2012-03-09 8:05 ` Matthieu Moy
2012-03-09 9:50 ` Junio C Hamano
2012-03-09 11:28 ` Jeremy Morton
2012-03-09 11:54 ` Matthieu Moy
2012-03-09 14:42 ` Jakub Narebski
2012-03-19 6:02 ` Miles Bader
2012-03-19 16:12 ` Philippe Vaucher
2012-03-08 15:00 ` Marc Branchaud
2012-03-08 15:26 ` Matthieu Moy
2012-03-08 17:49 ` Dmitry Potapov
2012-03-08 18:04 ` Matthieu Moy
2012-03-09 3:38 ` Jeff King
2012-03-09 5:23 ` Junio C Hamano
2012-03-09 5:38 ` Junio C Hamano
2012-03-09 8:06 ` demerphq
2012-03-09 8:48 ` Thomas Rast
2012-03-09 9:50 ` Junio C Hamano
2012-03-16 9:38 ` Gelonida N
2012-03-09 8:25 ` Matthieu Moy
2012-03-09 8:31 ` [RFC PATCH] push: start warning upcoming default change for push.default Matthieu Moy
2012-03-09 10:01 ` Junio C Hamano
2012-03-09 20:21 ` Junio C Hamano
2012-03-09 10:25 ` Carlos Martín Nieto
2012-03-09 18:30 ` Marc Branchaud [this message]
2012-03-09 21:08 ` Stefan Haller
2012-03-10 21:05 ` Junio C Hamano
2012-03-11 20:26 ` Stefan Haller
2012-03-12 8:47 ` Matthieu Moy
2012-03-12 11:22 ` Stefan Haller
2012-03-12 12:46 ` Matthieu Moy
2012-03-12 16:11 ` Junio C Hamano
2012-03-12 15:10 ` Marc Branchaud
2012-03-10 6:16 ` Michael Haggerty
2012-03-12 15:13 ` Marc Branchaud
2012-03-12 16:37 ` Matthieu Moy
2012-03-12 17:53 ` Junio C Hamano
2012-03-12 18:37 ` Jeff King
2012-03-12 19:06 ` Junio C Hamano
2012-03-12 19:33 ` Junio C Hamano
2012-03-12 20:16 ` Marc Branchaud
2012-03-13 9:40 ` Matthieu Moy
2012-03-13 9:36 ` Matthieu Moy
2012-03-13 21:30 ` Jeff King
2012-03-13 22:54 ` Junio C Hamano
2012-03-14 13:50 ` Jeff King
2012-03-14 20:59 ` Junio C Hamano
2012-03-13 9:34 ` Matthieu Moy
2012-03-13 13:17 ` Junio C Hamano
2012-03-13 13:35 ` Matthieu Moy
2012-03-13 20:01 ` Auto-matching upstream branches by name (was: [RFC PATCH] push: start warning upcoming default change for push.default) Stefan Haller
2012-03-14 9:10 ` Auto-matching upstream branches by name Matthieu Moy
2012-03-13 14:31 ` [RFC PATCH] push: start warning upcoming default change for push.default Marc Branchaud
2012-03-13 14:59 ` Holger Hellmuth
2012-03-13 17:41 ` Junio C Hamano
2012-03-14 19:15 ` Holger Hellmuth
2012-03-15 8:02 ` Matthieu Moy
2012-03-15 10:43 ` Holger Hellmuth
2012-03-13 15:02 ` Andreas Ericsson
2012-03-13 21:35 ` Jeff King
2012-03-13 18:08 ` Dmitry Potapov
2012-03-14 4:46 ` Junio C Hamano
2012-03-14 12:47 ` Dmitry Potapov
2012-03-14 17:29 ` Junio C Hamano
2012-03-14 17:49 ` Dmitry Potapov
2012-03-14 20:44 ` Junio C Hamano
2012-03-14 9:07 ` Matthieu Moy
2012-03-14 13:23 ` Dmitry Potapov
2012-03-14 14:47 ` Matthieu Moy
2012-03-14 17:47 ` Dmitry Potapov
2012-03-15 8:05 ` Matthieu Moy
2012-03-14 8:59 ` Michael Haggerty
2012-03-14 14:00 ` Jeff King
2012-03-09 11:26 ` Ævar Arnfjörð Bjarmason
2012-03-16 8:51 ` Clemens Buchacher
2012-03-16 9:43 ` Matthieu Moy
2012-03-16 12:05 ` Junio C Hamano
2012-03-16 12:42 ` Matthieu Moy
2012-03-16 21:48 ` Clemens Buchacher
2012-03-17 20:46 ` Matthieu Moy
2012-03-19 16:11 ` Andrew Myers
2012-03-09 9:57 ` git push default behaviour? Junio C Hamano
2012-03-09 12:11 ` Matthieu Moy
2012-03-09 16:22 ` Junio C Hamano
2012-03-09 17:44 ` Junio C Hamano
2012-03-09 14:56 ` Jakub Narebski
2012-03-09 16:23 ` Junio C Hamano
2012-03-13 15:18 ` Jakub Narebski
2012-03-12 9:34 ` Matthieu Moy
2012-03-12 16:29 ` Junio C Hamano
2012-03-13 9:47 ` Matthieu Moy
2012-03-13 12:34 ` Junio C Hamano
2012-03-16 19:35 ` Junio C Hamano
2012-03-17 15:49 ` Eric Hanchrow
2012-03-08 17:37 ` Dmitry Potapov
2012-03-08 11:33 ` Jakub Narebski
2012-03-08 11:34 ` Jeremy Morton
2012-03-13 15:27 ` Jakub Narebski
2012-03-14 12:12 ` Jeremy Morton
2012-03-14 17:16 ` Jakub Narebski
2012-03-08 11:54 ` Matthieu Moy
2012-03-08 12:12 ` demerphq
2012-03-17 9:36 ` Sebastien Douche
2012-03-17 9:38 ` Jeremy Morton
2012-03-17 9:51 ` Sebastien Douche
2012-03-18 10:26 ` Pavel Pospíšil
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=4F5A4C45.7070406@xiplink.com \
--to=marcnarc@xiplink.com \
--cc=Matthieu.Moy@imag.fr \
--cc=cmn@elego.de \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.