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
List information: http://vger.kernel.org/majordomo-info.html
* 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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).