From: Junio C Hamano <gitster@pobox.com>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>,
Marc Branchaud <marcnarc@xiplink.com>,
Marat Radchenko <marat@slonopotamus.org>,
git@vger.kernel.org, Jeff King <peff@peff.net>
Subject: Re: Pull is Evil
Date: Wed, 30 Apr 2014 12:10:05 -0700 [thread overview]
Message-ID: <xmqq38gufxbm.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <5361416a172fe_f9b15012ec7e@nysa.notmuch> (Felipe Contreras's message of "Wed, 30 Apr 2014 13:31:06 -0500")
Felipe Contreras <felipe.contreras@gmail.com> writes:
> Matthieu Moy wrote:
>> Felipe Contreras <felipe.contreras@gmail.com> writes:
>> ...
>> > Yes, this has been discussed many times in the past, and everyone agrees
>> > the default behavior is not correct.
>>
>> You definitely have a strange notion of "everyone".
>
> Do I? Let's look at some of the discussions:
>
> http://thread.gmane.org/gmane.comp.version-control.git/225146
>
> * W. Trevor King agrees the default should change
> * Junio C Hamano agrees the default should change
> * John Keeping agrees the default should change
> * Matthieu Moy doesn't agree anything should change
> * Linus Torvalds agrees changing the default is fine
>
> http://thread.gmane.org/gmane.comp.version-control.git/233554
>
> * Richard Hansen agrees with my proposal
> * Ramkumar Ramachandra agrees with my proposal
> * Brian M. Carlson is not happy but can live with my proposal
> * Jeff King accepts my proposal is a good way to move forward
> * Matthieu Moy is OK with change, but only if the default remains the same
>
> So, by "everyone" I mean everyone but one person (you).
I looked at the latter thread and re-read what Peff wrote (added to
Cc). I think the most relevant (other than solving it in quite a
different way $gmane/233554) one to your version of the solution is
this:
http://thread.gmane.org/gmane.comp.version-control.git/233554/focus=234365
where he responds to my "how about this way forward" with this:
> ... I think other people are also in
> agreement. So perhaps:
>
> - drop jc/pull-training-wheel and revert its merge from 'next';
>
> - update Felipe's series with a bit of tweak to make it less
> impactful by demoting error into warning and advice.
>
> would be a good way forward?
I think that would address the concern I raised, because it does not
create a roadblock to new users accomplishing their task. They can
ignore the warning, or choose "merge" as the default to shut up the
warning (and it is easy to choose that if you are confused, because
it is what git is doing by default alongside the warning).
While I do not quite see the previous discussion as deciding the
particular implementation is good without further tweaks, I would
say that everybody agrees that the default behaviour is not good for
everybody and therefore should (or for Linus, "it is OK to") change.
> Rational people don't think in absolute terms, "everyone" means
> virtually everyone, which is the case.
True for "should change", not virtually everyone for "should change
with that particular solution".
But after re-reading the series description 0/n this round in the
other thread, I think the overall direction is good (just like Peff
said in the previous thread), especially if there is a warning not
error period.
The step (I am not sure you have it in your series or not, but I
would strongly recommend adding one if it doesn't yet) that gives a
"will change the default, and here is how to configure" warning when
we see an actual merge made (or rebased) after "git pull" without
"--merge/--rebase" is not just a way to prepare existing users, but
is a good way to bring new goodness to newbies. The session might
go like this:
$ git pull
... fetching ...
... merging ...
... diffstat ...
warning: you merged the $branch from $remote into your
warning: work, which may not be what you wanted to do unless
warning: you are acting as a project integrator. If that is
warning: the case, "git config --set pull.mode ff-only" to
warning: cause "git pull" to refuse working when it does not
warning: fast-forward. Use pull.mode=merge if you did mean
warning: it, to squelch this message.
I am not advocating the exact wording above, but am illustrating
that there is a place for us to tell the new people to live in a
better future before the switchover happens.
next prev parent reply other threads:[~2014-04-30 19:10 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-28 6:29 A failing attempt to use Git in a centralized environment Marat Radchenko
2014-04-28 18:41 ` Junio C Hamano
2014-04-30 14:21 ` Pull is Evil (was: Re: A failing attempt to use Git in a centralized environment) Marc Branchaud
2014-04-30 14:55 ` Junio C Hamano
2014-04-30 19:45 ` Pull is Evil Marc Branchaud
2014-04-30 20:01 ` Jonathan Nieder
2014-04-30 20:01 ` Junio C Hamano
2014-04-30 21:48 ` Marc Branchaud
2014-05-02 7:40 ` Andreas Krey
2014-05-02 8:46 ` David Kastrup
2014-05-03 6:17 ` Andreas Krey
2014-05-03 6:55 ` David Kastrup
2014-04-30 20:14 ` Felipe Contreras
2014-04-30 22:06 ` Marc Branchaud
2014-04-30 22:25 ` Felipe Contreras
2014-05-01 9:46 ` brian m. carlson
2014-05-01 10:48 ` Felipe Contreras
2014-05-01 15:16 ` Junio C Hamano
2014-05-01 19:16 ` Felipe Contreras
2014-05-01 19:48 ` W. Trevor King
2014-05-01 20:07 ` W. Trevor King
2014-05-01 23:25 ` Felipe Contreras
2014-05-02 0:02 ` W. Trevor King
2014-05-02 0:37 ` Felipe Contreras
2014-05-02 1:10 ` W. Trevor King
2014-05-02 1:14 ` Felipe Contreras
2014-05-02 14:54 ` W. Trevor King
2014-05-02 18:55 ` Felipe Contreras
2014-05-02 19:07 ` W. Trevor King
2014-05-02 19:10 ` David Kastrup
2014-05-02 19:13 ` Felipe Contreras
2014-05-02 19:46 ` W. Trevor King
2014-05-02 20:34 ` Felipe Contreras
2014-05-02 21:13 ` W. Trevor King
2014-05-02 21:18 ` Felipe Contreras
2014-05-02 22:01 ` pull.prompt or other way to slow/disable 'git pull' (was: Pull is Evil) W. Trevor King
2014-05-02 22:20 ` Felipe Contreras
2014-05-03 0:05 ` pull.prompt or other way to slow/disable 'git pull' W. Trevor King
2014-05-03 9:50 ` Felipe Contreras
2014-05-04 18:51 ` W. Trevor King
2014-05-04 20:54 ` Felipe Contreras
2014-05-01 23:20 ` Re: Pull is Evil Felipe Contreras
2014-05-01 15:20 ` Marc Branchaud
2014-05-01 17:56 ` W. Trevor King
2014-05-01 18:04 ` Marc Branchaud
2014-05-01 18:30 ` W. Trevor King
2014-05-01 20:21 ` Marc Branchaud
2014-05-01 23:28 ` Felipe Contreras
2014-05-02 7:16 ` Andreas Krey
2014-05-02 8:14 ` Felipe Contreras
2014-05-02 19:29 ` Junio C Hamano
2014-05-02 19:53 ` Junio C Hamano
2014-05-01 23:45 ` brian m. carlson
2014-05-01 23:39 ` Felipe Contreras
2014-05-01 19:22 ` Felipe Contreras
2014-05-01 19:43 ` Marc Branchaud
2014-05-01 19:27 ` Felipe Contreras
2014-05-01 21:06 ` Philip Oakley
2014-05-01 21:16 ` Philip Oakley
2014-05-01 23:34 ` Felipe Contreras
2014-05-01 23:59 ` W. Trevor King
2014-05-02 0:31 ` Felipe Contreras
2014-04-30 16:47 ` Pull is Evil (was: Re: A failing attempt to use Git in a centralized environment) Felipe Contreras
2014-04-30 17:09 ` Pull is Evil Matthieu Moy
2014-04-30 18:31 ` Felipe Contreras
2014-04-30 19:10 ` Junio C Hamano [this message]
2014-04-30 19:32 ` Felipe Contreras
2014-04-30 19:53 ` Junio C Hamano
2014-04-30 20:11 ` Felipe Contreras
2014-04-30 16:12 ` A failing attempt to use Git in a centralized environment Stepan Kasal
2014-04-30 17:15 ` Geert Bosch
2014-05-04 8:58 ` John Szakmeister
2014-05-02 20:56 ` Max Kirillov
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=xmqq38gufxbm.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=Matthieu.Moy@grenoble-inp.fr \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
--cc=marat@slonopotamus.org \
--cc=marcnarc@xiplink.com \
--cc=peff@peff.net \
/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.