Addendum - my initial tl;dr is misleading - I don't like FF because it is
extra work, but I definitely prefer it if cherry-picking (as it is applied
now) is not an option with gitlab (never looked that up properly). merge is
a -2 in any case

Am Sa., 12. Okt. 2019 um 12:48 Uhr schrieb Roland Knall <rkn...@gmail.com>:

> tl;dr - I am also -2 on merge commits, not entirely sure about ff either,
> they tend to be work, cherry-pick would be preferable.
>
> Long version:
>
> Currently we do have a strategy in place, that is called "Cherry-Pick".
> Basically it means, that Gerrit resolves any branch conflicts (the patch
> had been developed on an older commit then the current master has) and just
> cherry-picks the change. It has two basic advantages: 1. It prevents
> "merge-branch" commit messages and therefore keeps the master history
> clean, but also 2. it prevents the developer from rebasing on master before
> merging the change.
>
> Different to cherry-pick, merge branch strategy will also try to merge the
> commit together with the master branch. But in the scenario described
> above, it can lead to scenarios where the two branches are out of sync, and
> now git* will create a merge-commit to move them on the same track again.
> There are two major issues with that strategy: 1. it pollutes history. It
> will end up creating a bunch of those merge requests, as long as the
> developers don't take rebase seriously and 2. it increases the risk that a
> merge will overwrite newer changes, an absolut no-no. It usually is
> deployed either in small projects or together with a very complete CI/CD
> integration with nearly 100% automatic functionality testing. In bigger
> projects it is a very bad idea in my opinion.
>
> Now fast-forward is the strictest of it all, although a little bit similar
> to cherry-picking. It is used to absolutely ensure, that the commit history
> is clean. It basically means, that your merge request will have to happen
> on the very top of the commit history of the branch you want to merge into.
> This means, that the developer has to ensure that the patchset can be
> merged, no automatic resolving takes place. It is more cumbersome to work
> with, especially in projects where a lot of people commit. To my
> recollection the collisions have to be resolved only for the files touching
> the merge request, making it a little bit less strict, but still it
> requires additional effort on the side of the developer. (see
> https://docs.gitlab.com/ee/user/project/merge_requests/fast_forward_merge.html
> for gitlab's explanation, at the bottom they have a very good overview of
> what it entails).
>
> Personally I have ever worked with fast-forward and cherry-pick. The first
> is an absolut must if code traceability has to be ensured (e.g. for machine
> safety applications), the latter for projects which want a very clean main
> history (e.g. for release notes) and also avoid extra checks for feature
> branch merges (due to the nature of overwriting existing changes on chance
> with merge-only strategies).
>
> Therefore I am very strongly opposed on merge commits and would prefer
> fast-forward. If we go with merge commits we would need other features and
> workflows to ensure, that no overwrite can take place or it is detected
> properly if it happens.
>
> regards
> Roland
>
> Am Sa., 12. Okt. 2019 um 12:09 Uhr schrieb Graham Bloice <
> graham.blo...@trihedral.com>:
>
>> As one who has never used GitLab, I'm uncertain about the changes.
>> To educate me can anyone point to an instance of a merge commit in
>> another project?
>>
>> If I understand them correctly (which might not be true) then I'm a -2
>> for merge commits.  I really do NOT want to see master commit history
>> polluted with the details of the sausage making, just the effective change.
>>
>> To clarify discussion on this I would like to see detailed workflows of
>> both approaches (ff only and merge commits), i.e. intial change creation,
>> amendment, approval and merge to master, along with any tooling (e.g.
>> similar to git-review) that makes the process easier.
>>
>> When we have the workflows laid out then we then have a basis for
>> discussion as to which fits the project needs better.
>>
>>
>> On Sat, 12 Oct 2019 at 02:28, João Valverde <
>> joao.valve...@tecnico.ulisboa.pt> wrote:
>>
>>>
>>> On 11/10/19 22:54, Gerald Combs wrote:
>>>
>>> The reactions to migrating so far have been pretty favorable, so I've 
>>> started documenting the process at 
>>> https://gitlab.com/wireshark/gitlab-migration/wikis/home. There are still a 
>>> lot of things to figure out, but I'm hoping that we can start preparation 
>>> and testing some time in November and cut over the repository in mid 
>>> January (the 14th will be the 6th anniversary of the Subersion-to-Gerrit 
>>> cutover).
>>>
>>> Awesome. Also +1 for merge commits from me. Sadly I haven't really seen
>>> anyone else advocating for this.
>>>
>>> I agree it's nicer to look at a linear history but the workflow is
>>> better with merges.
>>>
>>> ___________________________________________________________________________
>>> Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
>>> Archives:    https://www.wireshark.org/lists/wireshark-dev
>>> Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
>>>              mailto:wireshark-dev-requ...@wireshark.org
>>> ?subject=unsubscribe
>>
>>
>>
>> --
>> Graham Bloice
>> Software Developer
>> Trihedral UK Limited
>>
>> ___________________________________________________________________________
>> Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
>> Archives:    https://www.wireshark.org/lists/wireshark-dev
>> Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
>>              mailto:wireshark-dev-requ...@wireshark.org
>> ?subject=unsubscribe
>
>
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to