So I am a very strong proponent for linear history, here are my arguments

1. Merge commits provide no value for projects that are based on Github.
Having merge commits make perfect sense in the original context they were
used, which is sending patches on mailing lists (Linux/Postgres style
development). In this case its very hard to figure out who specifically
merged a pull request, this is a non issue with github. While I understand
the "branches/commits are cheap" philosophy behind git, they need to
provide value. Merge commits for mailing list style project development
does provide value, for projects on github it's just noise.
2. It makes the usability of cherry picking/merging branches a lot less
trivial. This is also going to be a concern for Pekko, we are going to have
multiple release branches and there are going to be cases of needing to
cherry pick between them.
3. The current pre Pekko Akka codebase also had linear history. For the
sakes of consistency unless there is a very strong argument I don't see why
we should change such a thing.
4. In the past, rebasing/squashing was foreign to a lot of git users which
in my view was probably the strongest reason for merge commits. Users had
to manually do the rebasing themselves and force push onto a branch (if we
go back far enough force-push-with-lease didn't even exist which made the
flow even more dangerous). However ever since github added the "squash" and
"rebase" buttons on the UI this has become a non concern.
5. Also, add https://www.aubm.net/posts/the-case-of-a-git-linear-history/
onto that

On Mon, Nov 7, 2022 at 9:53 AM Jean-Luc Deprez <[email protected]>
wrote:

> As per discussion up to here:
> https://github.com/apache/incubator-pekko/pull/8#discussion_r1014136294
>
> It looks like there's a need for agreement of "what the right way of
> working" is.
>
> I'm not going to repeat everything what was said there, but please do
> review. The gist is the following.
>
>
>    1. Should there be a strive for linear history?
>    2. Should squashing be used to achieve that linear history?
>    3. Should GitHub UI rebasing be allowed?
>    Noting that that one destroys commit signatures.
>    4. Should commit signatures be used?
>
>
> My personal stance:
>
>    1. No, because it's not the Git way and because of #4
>    2. Allowed yes, but only when it makes sense, it should not be the
>    default way.
>    3. No, because #4.
>    Local rebasing (and squashing in the process) is still possible. But
>    that will have clear committer tags and signatures.
>    4. Yes, traceability of changes has relevance in this modern day and
> age.
>
>
>
>
>
> On Thu, Nov 3, 2022 at 9:35 PM Matthew Benedict de Detrich
> <[email protected]> wrote:
>
> > Is now fixed thanks to https://github.com/apache/incubator-pekko/pull/8
> >
> > --
> > Matthew de Detrich
> > Aiven Deutschland GmbH
> > Immanuelkirchstraße 26, 10405 Berlin
> > Amtsgericht Charlottenburg, HRB 209739 B
> >
> > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen
> > m: +491603708037
> > w: aiven.io e: [email protected]
> > On 3. Nov 2022 at 17:04 +0100, Matthew Benedict de Detrich <
> > [email protected]>, wrote:
> > > I just noticed that when
> > https://github.com/apache/incubator-pekko/pull/5 was merged it was done
> > via a merge commit. I think that this is a good time to discuss what
> method
> > of merging we should use. I would stick with rebase/squash and merge
> > because if you look at the git history of Akka you can see that we don’t
> > use merge commits. I just asked a fellow Flink committer how this is done
> > (since Flink also has the same setup, i.e. no merge commits) and
> apparently
> > a PMC member has to directly set it in the GitHub settings.
> > >
> > > @PJ Fanning, if we end up enforcing this on
> > https://github.com/apache/incubator-pekko then I would recommend rebase
> > the current main branch and pushing it to get rid of the merge commit so
> > the git history is clean.
> > >
> > > --
> > > Matthew de Detrich
> > > Aiven Deutschland GmbH
> > > Immanuelkirchstraße 26, 10405 Berlin
> > > Amtsgericht Charlottenburg, HRB 209739 B
> > >
> > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen
> > > m: +491603708037
> > > w: aiven.io e: [email protected]
> >
>


-- 

Matthew de Detrich

*Aiven Deutschland GmbH*

Immanuelkirchstraße 26, 10405 Berlin

Amtsgericht Charlottenburg, HRB 209739 B

Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen

*m:* +491603708037

*w:* aiven.io *e:* [email protected]

Reply via email to