All of lore.kernel.org
 help / color / mirror / Atom feed
From: "W. Trevor King" <wking@tremily.us>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
	"brian m. carlson" <sandals@crustytoothpaste.net>,
	Marc Branchaud <marcnarc@xiplink.com>,
	Marat Radchenko <marat@slonopotamus.org>,
	git@vger.kernel.org
Subject: Re: pull.prompt or other way to slow/disable 'git pull'
Date: Sun, 4 May 2014 11:51:45 -0700	[thread overview]
Message-ID: <20140504185145.GQ28634@odin.tremily.us> (raw)
In-Reply-To: <5364bbfc8c0a0_ac68dd308ce@nysa.notmuch>

[-- Attachment #1: Type: text/plain, Size: 6065 bytes --]

On Sat, May 03, 2014 at 04:50:52AM -0500, Felipe Contreras wrote:
> Either way it would be impossible for Git to figre out what you want
> to do.

That's my point.  The details of my particular workflow are
unimportant.

> Anyway I don't see how is this possibly relevant to the topic at
> hand.

I'm trying to motivate a way to slow/disable 'git pull', which I see
as orthogonal to your push to change the default configuration.  I
thought describing my workflow in more detail would help clarify why…

> W. Trevor King wrote:
> > On Fri, May 02, 2014 at 05:20:11PM -0500, Felipe Contreras wrote:
> > > W. Trevor King wrote:
> > > > > > The 'git pull' (with 'none' mode) explainer just helps retrain folks
> > > > > > that are already using the current 'git pull' incorrectly.
> > > > > 
> > > > > If you are going to train them to use a configuration, it should be:
> > > > > 
> > > > > % git config --global pull.ff false
> > > > 
> > > > I don't want all pulls to be --no-ff, only pulls from topic branches.

… this global pull.ff config was not a solution.

> > > Either way, since I think these two are different modes:
> > > 
> > >   1) git pull
> > >   2) git pull origin topic
> > > 
> > > Maybe it would actually make sense to have a configuration specific to
> > > 2): pull.topicmode.
> > 
> > I think it makes more sense to just use merge/rebase explicitly,
> 
> Fine, if you want the user to be explicit, he can be explicit with
> `git pull --no-ff origin topic`. Problem solved.

That's certainly explicit, but some folks are in the habit of just
running 'git pull' (regardless of which branch they happen to be on)
without thinking “Where am I, what am I integrating, and how should I
integrate it?”.  As I claimed earlier:

On Thu, May 01, 2014 at 06:10:04PM -0700, W. Trevor King wrote [1]:
> Folks who are setting any ff options don't need any of these
> training wheels.  My proposed --prompt behavior is for folks who
> think “I often run this command without thinking it through all the
> way.  I'm also not used to reading Git's output and using 'reset
> --hard' with the reflog to reverse changes.  Instead of trusting me
> to only say what I mean or leaving me to recover from mistakes,
> please tell me what's about to change and let me opt out if I've
> changed my mind.”

In the messages following that, you seemed to agree that such folks
existed [2], and suggested I use pull.mode=fetch-only [3] or
pull.ff=false [4] or pull.topicargs='--merge --no-ff' [5].  Now we
agree (I think?  Based on your “it would be impossible for Git…”
quoted above) that you can have a sane workflow for which no
pull-strategy default will always do the right thing.  We just
disagree (I think) on what to do about it.  I'm suggesting
pull.prompt, pull.mode=none, or some other way to slow/disable 'git
pull' while folks retrain themselves.  You're suggesting (I think?
Based on your 'git pull --no-ff origin topic' quoted above) that folks
just skip right to remembering which ff options to use in which
situations.  Do you feel folks won't need a way to slow/disable 'git
pull' while they build the ff options and their project's recommended
workflow into their own practice?  Or do you agree that they will need
some kind of helper for the transition, and just feel that git.prompt
is the wrong helper?

Cheers,
Trevor

[1]: http://article.gmane.org/gmane.comp.version-control.git/247917
[2]: http://article.gmane.org/gmane.comp.version-control.git/247919
     On Thu, May 01, 2014 at 08:14:29PM -0500, Felipe Contreras wrote:
     > W. Trevor King wrote:
     > > Folks who are setting any ff options don't need any of these
     > > training wheels.
     >
     > Indeed.
[3]: http://article.gmane.org/gmane.comp.version-control.git/247957
     On Fri, May 02, 2014 at 02:13:25PM -0500, Felipe Contreras wrote:
     > W. Trevor King wrote:
     > > On Fri, May 02, 2014 at 01:55:36PM -0500, Felipe Contreras wrote:
     > > > W. Trevor King wrote:
     > > > > But once such folks are identified, you just have to
     > > > > convince them (once) to set the pull.prompt config.
     > > > > That's a lot easier than convincing them (for every pull)
     > > > > to set the appropriate ff flag.
     > > >
     > > > It wouldn't matter if by the default non-fast-forward
     > > > merges are rejected.
     > >
     > > It would matter if you didn't want them making
     > > non-fast-forward merges (e.g. for explicitly-merged topic
     > > branches).
     >
     > It would matter almost exactly zero. And just as they can do
     > pull.promot = true, they can do pull.mode = fetch-only.
[4]: http://article.gmane.org/gmane.comp.version-control.git/247986
     On Fri, May 02, 2014 at 04:18:57PM -0500, Felipe Contreras wrote:
     > W. Trevor King wrote:
     > > Saying “that's unlikely to happen” doesn't solve the problem
     > > that some newcomers have trouble matching their project's
     > > desired workflow.
     >
     > % git config --global pull.ff false
     >
     > Done.
[5]: http://article.gmane.org/gmane.comp.version-control.git/247998
     On Fri, May 02, 2014 at 05:20:11PM -0500, Felipe Contreras wrote:
     > W. Trevor King wrote:
     > > I don't want all pulls to be --no-ff, only pulls from topic
     > > branches.
     >
     > Pulling some branch to a topic branch, or pulling a topic
     > branch to another branch?
     >
     > Either way, since I think these two are different modes:
     >
     >   1) git pull
     >   2) git pull origin topic
     >
     > Maybe it would actually make sense to have a configuration
     > specific to 2): pull.topicmode.
     >
     > This way they could do "pull.topicmode = merge-no-ff". Or maybe
     > we need arguments: "pull.topicargs = --merge --no-ff".

-- 
This email may be signed or encrypted with GnuPG (http://www.gnupg.org).
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2014-05-04 18:51 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 [this message]
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
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=20140504185145.GQ28634@odin.tremily.us \
    --to=wking@tremily.us \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=marat@slonopotamus.org \
    --cc=marcnarc@xiplink.com \
    --cc=sandals@crustytoothpaste.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.