[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.
Cheers,
Nicolai
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
More information about the mesa-dev
mailing list