[Mesa-dev] Gitlab migration

Nicolai Hähnle nhaehnle at gmail.com
Thu May 24 08:59:33 UTC 2018

On 24.05.2018 08:46, Tapani Pälli wrote:
>>>>> * [Optional] Merge-request workflow.  With the rise of github, there
>>>>> are many developers out there who are used to the merge-request 
>>>>> workflow
>>>>> and switching to that may lower the barrier to entry for new 
>>>>> contributors.
>>>> I admit that it's been a while since I checked, but the web-based merge
>>>> workflows of GitHub and GitLab were (and probably still are) atrocious,
>>>> so please don't.
>>>> The tl;dr is that they nudge people towards not cleaning up their 
>>>> commit
>>>> history and/or squashing everything on the final commit, and that's 
>>>> just
>>>> a fundamentally bad idea.
>>>> The one web-based review interface I know of which gets this right is
>>>> Gerrit, since it emphasizes commits over merges and has pretty good
>>>> support for commit series.
>>> One really nice thing is that it actually has a view of outstanding
>>> patch series, that's properly tied to things getting committed, unlike
>>> patchwork which is only useful if people bother to curate their series'
>>> status.  I'm struggling to keep up with mesa-dev these days, despite it
>>> being my day job.  Having a page with the series outstanding might make
>>> life easier for reviewers, and also make it easier for series not to get
>>> lost and fall through the cracks...

I agree that that's useful. As well as the automatic tracking of what 
got merged.

>>> Mechanically, it also had pretty reasonable support for multiple patch
>>> series, updating a previous one automatically (IIRC).
>>> One thing I hated about using Gitlab for the CTS is that every series
>>> created merges, littering the history...and worse, people got in the
>>> habit of only explaining their work in the pull request, which became
>>> the merge commit message.  People didn't bother giving individual
>>> commits meaningful explanations.  That made 'git blame' harder, as
>>> you had to blame then look for the merge...makes bisects messier too...

That's the thing that really worries me. I always got the impression 
that the UI emphasizes merges over commits, and that is the real problem 
precisely for the reasons you explain.

>> There is a per-repo setting for what kind of merge requests are 
>> allowed and one option is to only allow fast-forward merges.  I think 
>> there's also an option to automatically rebase the branch prior to 
>> merging. That doesn't enforce good commit messages but it does kill 
>> the merge commits.
> It's possible to also just decide not use the 'merge button'. Within 
> Android-IA scope it was decided to manually push commits and just close 
> pull requests when pushing to keep git history clean.

I'm actually fairly mellow on both the merge vs. fast-forward and 'merge 
button' points. The real issue is keeping git blame, bisect, and commit 
messages meaningful.

Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.

More information about the mesa-dev mailing list