git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: John Keeping <john@keeping.me.uk>, Andreas Krey <a.krey@gmx.de>,
	John Szakmeister <john@szakmeister.net>,
	git@vger.kernel.org
Subject: Re: first parent, commit graph layout, and pull merge direction
Date: Thu, 23 May 2013 17:46:19 -0500	[thread overview]
Message-ID: <CAMP44s3-3gpAAyp-WfDjHxJiotO68GUbb5tHw9Qo35yCTGFNqA@mail.gmail.com> (raw)
In-Reply-To: <7vli75cpom.fsf@alter.siamese.dyndns.org>

On Thu, May 23, 2013 at 5:11 PM, Junio C Hamano <gitster@pobox.com> wrote:
> John Keeping <john@keeping.me.uk> writes:
>
>> This isn't about "swap parents", it's about helping people realise that
>> just "git pull" isn't necessarily the best thing for them to do, and
>> that they may want --rebase.
>>
>> So I was asking if it would be sensible (possibly in Git 2.0) to make
>> git-pull pass --ff-only to git-merge by default.
>
> Unless your primary user base is those who use Git as a deployment
> tool to always follow along the tip of some external repository
> without doing anything on your own on the branch you run your "git
> pull" on, defaulting it to --ff-only does not make much sense to me.

A lot of people do stuff, but the rebase it.

> If the proposal were to make pull.rebase the default at a major
> version bump and force all integrators and other people who are
> happy with how "pull = fetch + merge" (not "fetch + rebase") works
> to say "pull.rebase = false" in their configuration, I think I can
> see why some people may think it makes sense, though.

That makes perfect sense, because the people that are not familiar
with Git more often than not end up making merges by mistake, and the
ones that are familiar with it can easily configure it to do what they
want, or just 'git pull --merge', or 'git fetch'+'git merge' (we
should make merge.defaulttoupstream=true as well).

> But neither is an easy sell, I would imagine.  It is not about
> passing me, but about not hurting users like kernel folks we
> accumulated over 7-8 years.

I've worked in the Linux kernel, and in my experience the vast vast
majority of kernel developers don't do merges; they send patches. It's
only the lieutenants that might do that, and although there are a lot,
they don't surpass the 200, and they most definitely know how to
configure Git to do what they need. And even then, most of them don't
do merges, but create a linear history for Linus to merge.

So the only one who does really rely on merges is Linus, I think he
would have no problems configuring Git.

It is also my experience that most people don't do 'git pull', because
it rarely does what one wants; 'upstream' is still too cumbersome for
most people.

> Also "rebase" of the branch you attempted to push out is sometimes a
> good solution (fixing "just a small change on 'master'" that was
> beaten by somebody else pushing first), but is a bad workaround (you
> had many changes on that branch, which would have been better if
> they were done on a topic branch, but you do not want to merge with
> the upstream because you worked on 'master') some other times, so I
> have this suspicion that 'pull.rebase' is not necessarily a good
> thing to encourage in the first place.

Too bad, that's what most people recommend; 'git fetch'+'git rebase'.
That's the only way newcomers can avoid the ugliness of 'upstream',
and avoid making atrocious merges.

It's silly that the people familiar with Git has to explain this to
each and every newcomer.

-- 
Felipe Contreras

  reply	other threads:[~2013-05-23 22:46 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-22 11:50 first parent, commit graph layout, and pull merge direction Andreas Krey
2013-05-22 18:07 ` Junio C Hamano
2013-05-23  9:06   ` Andreas Krey
2013-05-23  9:48     ` John Szakmeister
2013-05-23 10:07       ` Jeremy Rosen
2013-05-23 10:29       ` Andreas Krey
2013-05-23 11:08         ` John Keeping
2013-05-23 16:01           ` Junio C Hamano
2013-05-23 16:41             ` John Keeping
2013-05-23 21:01               ` Junio C Hamano
2013-05-23 21:55                 ` John Keeping
2013-05-23 21:59                   ` Felipe Contreras
2013-05-23 22:11                   ` Junio C Hamano
2013-05-23 22:46                     ` Felipe Contreras [this message]
2013-05-23 22:54                       ` Junio C Hamano
2013-05-23 23:09                         ` Felipe Contreras
2013-05-23 23:26                           ` Junio C Hamano
2013-05-23 23:53                             ` Felipe Contreras
2013-05-24  8:29                               ` John Keeping
2013-05-24  9:38                                 ` John Szakmeister
2013-05-24  0:03                     ` Linus Torvalds
2013-05-24  0:21                       ` Junio C Hamano
2013-05-24  0:24                         ` Linus Torvalds
2013-05-24  0:25                         ` Felipe Contreras
2013-05-24  0:32                           ` Felipe Contreras
2013-05-24 16:26                             ` Junio C Hamano
2013-05-24 20:47                               ` Philip Oakley
2013-06-27 19:48                       ` [PATCH] pull: require choice between rebase/merge on non-fast-forward pull Junio C Hamano
2013-06-27 20:10                         ` W. Trevor King
2013-06-27 21:20                           ` Junio C Hamano
2013-06-28  1:08                             ` W. Trevor King
2013-06-28  6:34                           ` Matthieu Moy
2013-06-28  9:09                             ` W. Trevor King
2013-06-28 11:52                               ` Matthieu Moy
2013-06-28 12:28                                 ` W. Trevor King
2013-06-27 20:11                         ` Fredrik Gustafsson
2013-06-27 20:49                           ` Junio C Hamano
2013-06-27 20:30                         ` W. Trevor King
2013-06-27 20:58                           ` Junio C Hamano
2013-06-27 22:16                         ` Matthieu Moy
2013-06-28  1:19                           ` W. Trevor King
2013-06-28  8:09                         ` John Keeping
2013-06-28 17:22                           ` Junio C Hamano
2013-06-28 17:42                             ` John Keeping
2013-06-28 22:41                               ` Junio C Hamano
2013-07-02 21:18                                 ` John Keeping
2013-07-14 15:03                                 ` [PATCH] fixup! " John Keeping
2013-07-15  4:23                                   ` Junio C Hamano
2013-08-28 23:22                                 ` [PATCH] " Felipe Contreras
2013-07-18 14:30                         ` John Keeping
2013-07-18 17:38                           ` Andreas Schwab
2013-07-18 18:00                             ` Junio C Hamano
2013-07-18 19:35                               ` [PATCH v2] " Junio C Hamano
2013-07-19  0:54                                 ` Eric Sunshine
2013-07-19 16:22                                   ` Junio C Hamano
2013-07-19 20:29                                     ` Eric Sunshine
2013-07-19 22:20                                       ` Junio C Hamano
2013-07-19 22:30                                         ` Eric Sunshine
2013-07-19 22:55                                           ` Junio C Hamano
2014-01-22 19:08                                 ` Flimm
2013-05-24 17:11             ` first parent, commit graph layout, and pull merge direction Andreas Krey
2013-05-24 19:23               ` Junio C Hamano
2013-05-23 19:25     ` Andreas Krey
2013-05-24  9:29       ` Holger Hellmuth (IKS)
2013-05-24 13:42         ` Andreas Krey
2013-05-24 15:05           ` Holger Hellmuth (IKS)
2013-05-24 17:24             ` Andreas Krey
2013-05-23 11:34 ` Felipe Contreras
2013-05-23 12:21   ` Andreas Krey

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=CAMP44s3-3gpAAyp-WfDjHxJiotO68GUbb5tHw9Qo35yCTGFNqA@mail.gmail.com \
    --to=felipe.contreras@gmail.com \
    --cc=a.krey@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=john@keeping.me.uk \
    --cc=john@szakmeister.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.
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).