[Mesa-dev] Gitlab migration
jason at jlekstrand.net
Thu May 24 06:31:20 UTC 2018
On May 23, 2018 23:18:08 Kenneth Graunke <kenneth at whitecape.org> wrote:
> On Wednesday, May 23, 2018 1:58:14 PM PDT Nicolai Hähnle wrote:
>> Hi Jason,
>> On 23.05.2018 21:34, Jason Ekstrand wrote:
>>> Mesa developers,
>>> tl;dr. Please go to gitlab.freedesktop.org
>>> <http://gitlab.freedesktop.org>, create your account, and upload your
>>> SSH keys. Instructions are the bottom of this e-mail.
>>> The freedesktop.org <http://freedesktop.org> admins are trying to move
>>> as many projects and services as possible over to gitlab and somehow I
>>> got hoodwinked into spear-heading it for mesa. There are a number of
>>> reasons for this change. Some of those reasons have to do with the
>>> maintenance cost of our sprawling and aging infrastructure. Some of
>>> those reasons provide significant benefit to the project being migrated:
>> Thanks for doing this! I agree that this should be quite beneficial
>> overall, and getting the account set up was painless.
>>> * Project-led user/rights management. If we're on gitlab, project
>>> maintainers can give people access and we no longer have to wait for the
>>> freedesktop admins to add a new person. And the freedesktop admins
>>> don't have to take the time.
>>> * Better web UI for git. Ok, so some people will argue with me on
>>> this one but it's at least how I feel. :-)
>>> * [Optional] Integrated commit history and issue tracking. Bugzilla
>>> tags are great but gitlab ties things together much better.
>> I'd be in favor of moving the issue tracking.
> FWIW, I'm less convinced that moving away from Bugzilla is a good idea.
> It might be, I just don't know yet.
>>> * [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...
> 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...
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.
More information about the mesa-dev