public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Julien '_FrnchFrgg_' RIVAUD <frnchfrgg@free.fr>
To: Segher Boessenkool <segher@kernel.crashing.org>
Cc: gcc@gcc.gnu.org
Subject: Re: Proposal for the transition timetable for the move to GIT
Date: Sun, 29 Dec 2019 11:42:00 -0000	[thread overview]
Message-ID: <98729b61-2322-4244-7bde-f29c7e654d59@free.fr> (raw)
In-Reply-To: <20191229104100.GA3191@gate.crashing.org>

Le 29/12/2019 à 11:41, Segher Boessenkool a écrit :
> On Sun, Dec 29, 2019 at 02:40:45AM +0100, Julien FrnchFrgg Rivaud wrote:
>>> Oh, I'm not talking about historical merges.  I'm saying we shouldn't do
>>> future merges, where we can help that.  It disagrees with our documented
>>> "submitting patches" protocol.
>> I don't see how that can be correct. Linux is heavily "submitting
>> patches" based, with stringent reviews on LKML, yet heavily uses merges.
> Linux has most development done in separate trees, one for each maintainer.
> That is not how GCC works.

I mentioned the git development for a reason. They use merges for 
*everything*, including patchsets by people who never contributed before 
and might never contribute afterwards. The very *concept* of a DVCS is 
that each developer has a separate tree, not each maintainer.

I'm not arguing that you should go that route, it seems a bit extreme to 
me. But outright refusing merges on the basis they are painful is (if 
you can accept the strong word) ludicrous.

> Nothing should ever be flattened to a single commit. But before patches
>>> hit trunk, the patch series can be made nicer than it was at the start
>>> of its development.
>> I quite agree with that, and it resonates with my TL;DR chunk of text above.
> Yup.  Rebasing is superior to merging in many ways.

That's not what I agreed with. I agreed with « the patch series can be 
made nicer », which I took to be the contrary of « append patches at the 
end ». Rebasing is *one* of the ways to do that, especially interactive 
rebasing to shuffle patches around, check that each step compiles and 
passes the full test suite (updating it if needed and correct), reword 
messages, and think a lot of times about the best progression. But I 
never opposed rebasing to merging. In particular, I clearly wrote that 
*even if you rebased*, there are very strong arguments out there about 
refusing fast-forward merges, that is *always* generate a real merge 
commit, with a cover letter message roughly corresponding to the mail 
people send on the ML to convince people their patch series are worth 
including in GCC.

That leaves individual commit messages to explain the local rationale 
behind each discrete change (not the how, as it is readily apparent from 
the code, unless the code is very clever and then an in-code comment is 
warranted)


> Merging is appropriate if there is parallel development of (mostly) independent things.

Which is almost always the case.

> Features aren't that, usually: they can be rebased easily, and they should be posted
> for review anyway.
How often successive features checked into GCC are dependent on each 
other ? The fact that they can be rebased either way and easily is 
almost a testimony of that. And the fact that they need review has 
nothing to do with anything.
> It is very easy to use merges more often than is useful, and it hurts.

And it is very easy to use SVN-like workflows, and it hurts far more. 
SVN, due to its centrality and inherent impossibility to encode logical 
relationships between changes (as opposed to time-based evolution), 
slowly impaired most developers mind openness about what can be done in 
a worthwhile VCS. Moving to git is an opportunity to at last free 
yourselves, not continue that narrow treading on SVN paths.

SVN was like an almanac listing successive events without any analysis. 
That's not History (as in the field of study). Git at least can let you 
express and use to your common benefit logical links between 
modifications. Don't miss that train.

Merges are not scary when the tools are good. Even the logs are totally 
usable with a lot of merges, with suitable tools. The tool has to adapt, 
not you.

Julien

  parent reply	other threads:[~2019-12-29 11:42 UTC|newest]

Thread overview: 198+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-17 12:02 Richard Earnshaw (lists)
2019-09-17 12:24 ` Richard Biener
2019-09-17 13:50   ` Richard Earnshaw (lists)
2019-09-17 16:35   ` Joseph Myers
2019-09-17 17:51     ` Richard Earnshaw (lists)
2019-09-17 16:33 ` Joseph Myers
2019-09-19 12:04 ` Janne Blomqvist
2019-09-19 14:43   ` Damian Rouson
2019-09-19 15:30     ` Janne Blomqvist
2019-10-25 14:10     ` Richard Earnshaw (lists)
2019-10-25 16:32       ` Jeff Law
2019-09-19 15:30   ` Richard Earnshaw (lists)
2019-09-19 15:49     ` Damian Rouson
2019-09-19 15:35 ` Maxim Kuvyrkov
2019-12-06 14:44   ` Maxim Kuvyrkov
2019-12-06 17:21     ` Eric S. Raymond
2019-12-06 17:39       ` Richard Biener
2019-12-06 19:46         ` Eric S. Raymond
2019-12-06 20:43           ` Sandra Loosemore
2019-12-07  2:57           ` Segher Boessenkool
2019-12-09 18:19           ` Joseph Myers
2019-12-09 18:40             ` Bernd Schmidt
2019-12-09 20:45               ` Joseph Myers
2019-12-09 22:12               ` Eric S. Raymond
2019-12-09 19:28             ` Eric S. Raymond
2019-12-11 14:40             ` Maxim Kuvyrkov
2019-12-11 15:03               ` Richard Earnshaw (lists)
2019-12-11 15:19                 ` Jonathan Wakely
2019-12-11 15:21                   ` Richard Earnshaw (lists)
2019-12-11 15:36                     ` Joseph Myers
2019-12-11 16:02                       ` Jonathan Wakely
2019-12-11 17:47                         ` Eric S. Raymond
2019-12-16  2:19                       ` Joseph Myers
2019-12-11 15:30                   ` Dennis Luehring
2019-12-11 15:36                     ` Richard Earnshaw
2019-12-11 17:36                   ` Eric S. Raymond
2019-12-06 20:49       ` Bernd Schmidt
2019-12-16  9:53     ` Mark Wielaard
2019-12-16 11:29       ` Joseph Myers
2019-12-16 12:43         ` Mark Wielaard
2019-12-16 13:36           ` Segher Boessenkool
2019-12-16 13:54             ` Eric S. Raymond
2019-12-16 14:05               ` Segher Boessenkool
2019-12-16 14:13                 ` Joseph Myers
2019-12-16 15:37                   ` Segher Boessenkool
2019-12-16 16:36                     ` Joseph Myers
2019-12-16 17:40                     ` Jeff Law
2019-12-25  8:12                       ` Alexandre Oliva
2019-12-25 12:07                         ` Eric S. Raymond
2019-12-25 12:24                           ` Segher Boessenkool
2019-12-25 14:16                             ` Joseph Myers
2019-12-25 18:50                             ` Eric S. Raymond
2019-12-25 19:18                               ` Segher Boessenkool
2019-12-26  6:09                           ` Alexandre Oliva
2019-12-26 11:04                             ` Joseph Myers
2019-12-26 11:17                               ` Jakub Jelinek
2019-12-26 12:10                                 ` Joseph Myers
2019-12-26 16:11                                 ` Maxim Kuvyrkov
2019-12-26 16:58                                   ` Joseph Myers
2019-12-26 18:36                                     ` Jakub Jelinek
2019-12-26 18:59                                       ` Joseph Myers
2019-12-27 11:21                                         ` Richard Earnshaw (lists)
2019-12-27 11:33                                           ` Andrew Pinski
2019-12-27 13:35                                             ` Segher Boessenkool
2019-12-27 11:35                                           ` Joseph Myers
2019-12-27 12:37                                             ` Richard Earnshaw (lists)
2019-12-28  2:27                                               ` Eric S. Raymond
2019-12-28 11:23                                                 ` Joseph Myers
2019-12-28 12:19                                             ` Segher Boessenkool
2019-12-28 17:11                                               ` Richard Earnshaw (lists)
2019-12-28 20:28                                                 ` Segher Boessenkool
2019-12-29  1:45                                                   ` Julien "FrnchFrgg" Rivaud
2019-12-29 10:41                                                     ` Segher Boessenkool
2019-12-29 11:02                                                       ` Richard Biener
2019-12-29 11:47                                                         ` Julien '_FrnchFrgg_' RIVAUD
2019-12-29 13:31                                                           ` Segher Boessenkool
2019-12-29 13:51                                                             ` Julien '_FrnchFrgg_' RIVAUD
2019-12-29 12:15                                                         ` Segher Boessenkool
2019-12-29 16:32                                                           ` Richard Earnshaw
2019-12-29 16:37                                                             ` Julien '_FrnchFrgg_' RIVAUD
2019-12-29 11:42                                                       ` Julien '_FrnchFrgg_' RIVAUD [this message]
2019-12-29 13:26                                                         ` Segher Boessenkool
2019-12-29 13:48                                                           ` Julien '_FrnchFrgg_' RIVAUD
2019-12-29 15:01                                                             ` Segher Boessenkool
2019-12-29 17:31                                                             ` Ian Lance Taylor via gcc
2019-12-30  0:31                                                               ` Julien "FrnchFrgg" Rivaud
2019-12-29 21:31                                                           ` Thomas Koenig
2019-12-29 23:57                                                             ` Jeff Law
2019-12-27 13:29                                           ` Segher Boessenkool
2019-12-26 20:31                                     ` Richard Biener
2019-12-27  1:32                                     ` Joseph Myers
2019-12-27 10:14                                       ` Maxim Kuvyrkov
2019-12-28  1:55                                         ` Eric S. Raymond
2019-12-29 18:31                                   ` Maxim Kuvyrkov
2019-12-29 18:55                                     ` Joseph Myers
2019-12-29 22:47                                       ` Eric S. Raymond
2019-12-29 23:00                                         ` Joseph Myers
2019-12-29 23:13                                           ` Segher Boessenkool
2019-12-30 15:36                                             ` Richard Earnshaw (lists)
2019-12-30 22:37                                               ` Segher Boessenkool
2019-12-30 22:58                                                 ` Joseph Myers
2019-12-31  0:23                                                   ` Segher Boessenkool
2019-12-31 12:48                                                     ` Segher Boessenkool
2019-12-31  3:09                                                   ` Eric S. Raymond
2019-12-29 22:24                                     ` Richard Earnshaw (lists)
2019-12-30  0:18                                       ` Joseph Myers
2019-12-30  0:44                                         ` Julien "FrnchFrgg" Rivaud
2019-12-30 12:39                                         ` Maxim Kuvyrkov
2019-12-30 13:01                                       ` Maxim Kuvyrkov
2019-12-30 15:31                                         ` Richard Earnshaw (lists)
2019-12-30 15:49                                           ` Maxim Kuvyrkov
2019-12-30 16:08                                             ` Richard Earnshaw (lists)
2020-01-02  2:59                                               ` Alexandre Oliva
2020-01-02 10:58                                                 ` Richard Earnshaw (lists)
2020-01-08 20:46                                               ` Maxim Kuvyrkov
2020-01-08 22:11                                                 ` Eric S. Raymond
2020-01-08 23:34                                                   ` Joseph Myers
2020-01-09  2:38                                                     ` Segher Boessenkool
2020-01-09 12:12                                                       ` Richard Earnshaw (lists)
2020-01-09 14:01                                                         ` Eric S. Raymond
2020-01-11 11:30                                                         ` Segher Boessenkool
2020-01-10  7:33                                                       ` Maxim Kuvyrkov
2020-01-10  9:49                                                         ` Richard Earnshaw (lists)
2020-01-10 11:38                                                           ` Richard Biener
2020-01-10 12:09                                                             ` Iain Sandoe
2020-01-10 13:11                                                               ` Joseph Myers
2020-01-10 12:53                                                             ` Nathan Sidwell
2020-01-10 14:13                                                               ` Martin Liška
2020-01-11 11:57                                                             ` Segher Boessenkool
2020-01-11 11:52                                                           ` Segher Boessenkool
2020-01-10 13:31                                                         ` Bernd Schmidt
2020-01-10 15:27                                                           ` Eric S. Raymond
2020-01-10 15:09                                                         ` Maxim Kuvyrkov
2020-01-10 15:16                                                           ` Joseph Myers
2020-01-10 15:33                                                             ` Maxim Kuvyrkov
2020-01-11  7:04                                                               ` Gerald Pfeifer
2020-01-09  5:07                                                     ` Jeff Law
2020-01-09 12:30                                                       ` Joseph Myers
2020-01-10 15:27                                                         ` Joseph Myers
2020-01-11  7:06                                                         ` Gerald Pfeifer
2020-01-14  8:21                                                         ` Jeff Law
2019-12-26 22:33                                 ` Joseph Myers
2019-12-26 19:16                             ` Eric S. Raymond
2019-12-26 20:08                               ` Alexandre Oliva
2019-12-26 20:28                                 ` Joseph Myers
2019-12-27 12:06                                   ` Alexandre Oliva
2019-12-27 12:21                                     ` Joseph Myers
2019-12-28  2:33                                       ` Eric S. Raymond
2019-12-26 21:19                                 ` Eric S. Raymond
2019-12-25 12:10                         ` Segher Boessenkool
2019-12-25 14:13                           ` Joseph Myers
2019-12-29 16:47                           ` Mark Wielaard
2019-12-29 22:42                             ` Joseph Myers
2019-12-16 16:27                   ` Eric S. Raymond
2019-12-16 16:47                     ` Segher Boessenkool
2019-12-16 16:04               ` Jeff Law
2019-12-16 16:37                 ` Eric S. Raymond
2019-12-16 16:47                   ` Jeff Law
2019-12-31 13:43                     ` Joseph Myers
2019-12-31 14:13                       ` Richard Earnshaw (lists)
2019-12-31 17:26                       ` Segher Boessenkool
2019-12-16 13:56             ` Joseph Myers
2019-12-16 14:17               ` Mark Wielaard
2019-12-16 16:29                 ` Joseph Myers
2019-12-16 13:53           ` Joseph Myers
2019-12-16 16:39             ` Jeff Law
2019-12-16 17:57               ` Richard Biener
2019-12-16 16:55         ` Jeff Law
2019-12-16 17:08           ` Joseph Myers
2019-12-16 19:15             ` Eric S. Raymond
2019-12-16 21:59             ` Segher Boessenkool
2019-12-16 22:14               ` Jeff Law
2019-12-16 22:42                 ` Segher Boessenkool
2019-12-16 23:26                   ` Joseph Myers
2019-12-16 23:44                     ` Eric S. Raymond
2019-12-18 18:07                   ` Jeff Law
2019-12-18 18:24                     ` Joseph Myers
2019-12-19  0:57                       ` Eric S. Raymond
2019-12-18 19:50                     ` Segher Boessenkool
2019-12-18 20:43                       ` Jeff Law
2019-12-20 16:28                         ` Segher Boessenkool
2019-12-19  2:34                       ` Unix philosopy vs. poor semantic locality Eric S. Raymond
2019-12-19  3:16                         ` Joseph Myers
2019-12-19  5:46                           ` Eric S. Raymond
2019-12-19  0:46                     ` Proposal for the transition timetable for the move to GIT Eric S. Raymond
2019-12-16 23:34                 ` Eric S. Raymond
2019-12-16 23:18               ` Joseph Myers
2019-12-16 23:19               ` Eric S. Raymond
2019-12-18 17:27                 ` Segher Boessenkool
2019-12-16 13:33       ` Segher Boessenkool
2019-09-19 17:04 ` Paul Koning
2019-10-25 14:02   ` Richard Earnshaw (lists)
2019-09-20 15:49 ` Jeff Law
2019-09-21  9:11   ` Segher Boessenkool
2019-09-21  9:39     ` Andreas Schwab
2019-09-21  9:51       ` Segher Boessenkool
2019-09-21 10:04         ` Andreas Schwab
2019-09-21  9:26 ` Segher Boessenkool

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=98729b61-2322-4244-7bde-f29c7e654d59@free.fr \
    --to=frnchfrgg@free.fr \
    --cc=gcc@gcc.gnu.org \
    --cc=segher@kernel.crashing.org \
    /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 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).