GitLab instance: https://gitlab.eclipse.org/
GitLab has a similar functionality set compared to GitHub. A GitHub Pull Request is analogous to a a GitLab Merge Request. Below is a quick cheat sheet for getting productive with GitLab. The official GitLab User guide is here: https://docs.gitlab.com/ee/user/
From Bugzilla cheat sheet
- Global notification settings are in your profile: https://gitlab.eclipse.org/profile/notifications
- Group notificaton settings are also in your profile
- To "watch" a project, go to that project page. The notification bell at the top left can be changed to watch.
- Currently no specific way to CC someone. See: https://gitlab.com/gitlab-org/gitlab/-/issues/197288
- you can @user1 in the comments, though. See: https://gitlab.eclipse.org/eclipsefdn/gitlab/-/issues/2#note_5
Bug blocks .. depends on functionality
GitLab supports Linked issues (related, is blocked by, depends on) - either in the same project, or across projects. See Linked Issues, or this example: https://gitlab.eclipse.org/eclipsefdn/gitlab/-/issues/6#related-issues
From Gerrit cheat sheet
While project committers can commit to the repositories directly, contributors must use Merge Requests (MR). In fact, project committers can (should?) also use the Merge Request model to trigger code review.
There are many methods to trigger a Merge Request. They are all described here: https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html
Migrating from Gerrit and Bugzilla
Migrating Gerrit and Bugzilla to Gitlab is straightforward, but not complete. Items that are not migrated:
- Gerrit changes. Although the complete Git repository, with history, is migrated, Gerrit changes are not imported.
- Bug and comment attributions. All bugs are migrated as issues, but due to tool limitations, all bugs and comments are attributed to Eclipse Webmaster. The original submitter's name, and each commenter's name is preserved. Attachments are imported, and links to the original bug are preserved. Please see this example of a migrated bug: https://gitlab.eclipse.org/eclipse/dash/org.eclipse.dash.handbook/-/issues/138
To migrate your Git + Bugzilla to Gitlab: Please file an issue in Eclipse Foundation > Gitlab
Q: Big picture - what is involved in migrating a repository from github to gitlab?
A: First step is to cordinate the move with your community. Then, filing a Gitlab issue at https://gitlab.eclipse.org/eclipsefdn/gitlab/-/issues
Q:What is the learning curve for contributors?
A: As far as I can tell, it is close in functionality to Github.
Q: Are there contribution procedures in place for contributors to Eclipse projects?
A: The same ones as found at Github.
Q: Does ECA check work the same?
Q: Can we use GitLab runners and the CI?
A: No, not at this time. Jiro is the only CI supported.
Overview of project member permissions: https://gitlab.eclipse.org/help/user/permissions.md
- Project leads get "Maintainer" permissions.
- Committers of a project get "Developer" permissions.
- Contributors can get "Reporter" permissions.
Maintainer permissions include a few actions that project leads should not use:
- "Add new team members" => Project leads are not allowed to simply add team members. Committers must be elected as defined in the Eclipse development process.
- "Edit comments (posted by any user)" => Projects leads are not allowed to edit comments by any other user than themselves.
If any other permission or action is abused or violates the rules of the Eclipse development process, we retain the right to remove the permissions.