From: John Keeping <john@keeping.me.uk>
To: Jeff King <peff@peff.net>
Cc: Junio C Hamano <gitster@pobox.com>,
Felipe Contreras <felipe.contreras@gmail.com>,
git@vger.kernel.org, Andreas Krey <a.krey@gmx.de>
Subject: Re: [PATCH 0/3] Reject non-ff pulls by default
Date: Wed, 4 Sep 2013 11:16:43 +0100 [thread overview]
Message-ID: <20130904101643.GC2582@serenity.lan> (raw)
In-Reply-To: <20130904092527.GB22348@sigill.intra.peff.net>
On Wed, Sep 04, 2013 at 05:25:27AM -0400, Jeff King wrote:
> On Wed, Sep 04, 2013 at 09:10:47AM +0100, John Keeping wrote:
>
> > I think there are two distinct uses for pull, which boil down to:
> >
> > (1) git pull
> > (2) git pull $remote $branch
> >
> > For (1) a merge is almost always the wrong thing to do since it will be
> > backwards and break --first-parent.
>
> Is it always wrong? You are assuming a topic-branch workflow where
> --first-parent is actually meaningful. What about a centralized workflow
> where everyone works on "master"? The correct thing to do on a non-ff
> push in that case is "git pull && git push". Some people would argue
> that the pull should rebase there, but I think there are valid arguments
> either way. We can discuss in that direction if you want.
I'm one of the people who argues that it should rebase there ;-) The
point of jc/pull-training-wheel is to help users think about that.
> I can perhaps buy the argument that it is better to help people who are
> using a topic branch workflow (which we generally want to encourage) to
> avoid making backwards merges, and the cost is that people with sloppy
> workflows will have to do more work / configuration. But we should be
> clear that this is a tradeoff we are making.
>
> The patch in jc/pull-training-wheel talks about annoying old timers, but
> I think you may also be annoying clueless new users who simply want an
> svn-like workflow without thinking too hard about it.
The scenario I have is a central repository where some developers use a
topic branch workflow but others are less familiar with Git and don't
really think about what they're doing.
> > > I do not think we know what we want is to affect "git pull origin".
> >
> > I consider "git pull $remote" to be an artifact of the way git-pull is
> > implemented on top of git-fetch; perhaps I'm missing something but I
> > can't see a scenario where this is useful.
>
> Imagine a workflow where each topic is in its own repository instead of
> in its own branch inside a repository. Or where each developer has his
> or her own repository, but everybody just works on the master branch of
> their repository (or perhaps uses branches, but keeps master as a stable
> base). Alice is the integration manager; Bob tells her that he has work
> ready to integrate. She runs "git pull ~bob/project", which will merge
> Bob's HEAD.
>
> This is not very different from the kernel workflow, where Linus may do
> a "git pull $remote" to fetch a sub-system maintainer's work, except
> that these days people typically mark the to-be-integrated work in a
> "for-linus" branch or tag. However, you can find many "Merge git://"
> entries even in recent kernel history.
>
> I think this kind of pull would fall into the same situation as your (2)
> above.
OK - so I was missing this. Given this, the jc/pull-training-wheel
series is doing the right thing here.
next prev parent reply other threads:[~2013-09-04 10:17 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-31 22:38 [PATCH 0/3] Reject non-ff pulls by default Felipe Contreras
2013-08-31 22:38 ` [PATCH 1/3] merge: simplify ff-only option Felipe Contreras
2013-08-31 22:38 ` [PATCH 2/3] t: replace pulls with merges Felipe Contreras
2013-08-31 22:38 ` [PATCH 3/3] pull: reject non-ff pulls by default Felipe Contreras
2013-09-03 17:21 ` [PATCH 0/3] Reject " Junio C Hamano
2013-09-03 21:50 ` Felipe Contreras
2013-09-03 22:38 ` Junio C Hamano
2013-09-03 22:59 ` Felipe Contreras
2013-09-04 8:10 ` John Keeping
2013-09-04 9:25 ` Jeff King
2013-09-04 10:16 ` John Keeping [this message]
2013-09-08 2:52 ` Felipe Contreras
2013-09-08 4:18 ` Jeff King
2013-09-08 4:37 ` Felipe Contreras
2013-09-08 4:43 ` Jeff King
2013-09-08 5:09 ` Felipe Contreras
2013-09-08 5:21 ` Jeff King
2013-09-08 6:17 ` Felipe Contreras
2013-09-08 6:54 ` Jeff King
2013-09-08 7:15 ` Felipe Contreras
2013-09-08 7:50 ` Jeff King
2013-09-08 8:43 ` Felipe Contreras
2013-09-09 20:17 ` Jeff King
2013-09-09 22:59 ` Felipe Contreras
2013-09-08 10:03 ` John Keeping
2013-09-09 20:04 ` Jeff King
2013-09-08 17:26 ` brian m. carlson
2013-09-08 22:38 ` Felipe Contreras
2013-09-09 0:01 ` brian m. carlson
2013-09-09 0:29 ` Felipe Contreras
2013-09-09 0:36 ` Felipe Contreras
2013-09-09 0:38 ` brian m. carlson
2013-09-09 7:18 ` Matthieu Moy
2013-09-09 18:47 ` Junio C Hamano
2013-09-09 19:52 ` Jeff King
2013-09-09 20:24 ` John Keeping
2013-09-09 20:44 ` Jeff King
2013-09-09 21:10 ` John Keeping
2013-09-09 21:48 ` Richard Hansen
2013-09-09 20:50 ` Matthieu Moy
2013-09-09 20:53 ` Jeff King
2013-09-09 21:34 ` Philip Oakley
2013-09-09 23:02 ` Felipe Contreras
2013-09-10 8:08 ` John Keeping
2013-09-09 20:47 ` Matthieu Moy
2013-09-10 21:56 ` Junio C Hamano
2013-09-09 23:17 ` Felipe Contreras
2013-09-10 8:26 ` Matthieu Moy
2013-09-11 10:53 ` Felipe Contreras
2013-09-11 11:38 ` Matthieu Moy
2013-09-13 0:55 ` Felipe Contreras
2013-09-04 16:59 ` Junio C Hamano
2013-09-04 17:17 ` Junio C Hamano
2013-09-04 22:08 ` Philip Oakley
2013-09-04 22:59 ` Junio C Hamano
2013-09-05 8:06 ` John Keeping
2013-09-05 19:18 ` Junio C Hamano
2013-09-05 19:26 ` John Keeping
2013-09-06 21:41 ` Jonathan Nieder
2013-09-06 22:14 ` Junio C Hamano
2013-09-07 11:07 ` John Keeping
2013-09-08 2:36 ` Felipe Contreras
2013-09-08 2:34 ` Felipe Contreras
2013-09-08 8:01 ` Philip Oakley
2013-09-08 8:16 ` Felipe Contreras
2013-09-08 8:42 ` Philip Oakley
2013-09-08 8:49 ` Felipe Contreras
2013-09-08 10:02 ` Philip Oakley
2013-09-08 10:39 ` Philip Oakley
2013-09-05 11:01 ` John Szakmeister
2013-09-05 11:38 ` John Keeping
2013-09-05 12:37 ` John Szakmeister
2013-09-05 15:20 ` Richard Hansen
2013-09-05 21:30 ` Philip Oakley
2013-09-05 23:45 ` Junio C Hamano
2013-09-05 23:38 ` Junio C Hamano
2013-09-08 2:41 ` Felipe Contreras
2013-09-08 6:17 ` Richard Hansen
2013-09-08 18:10 ` Junio C Hamano
2013-09-08 20:05 ` Richard Hansen
2013-09-08 22:46 ` Philip Oakley
2013-09-08 22:46 ` Felipe Contreras
2013-09-08 23:11 ` Ramkumar Ramachandra
2013-09-05 13:31 ` Greg Troxel
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=20130904101643.GC2582@serenity.lan \
--to=john@keeping.me.uk \
--cc=a.krey@gmx.de \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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.