Skip to main content
Jump to: navigation, search

Difference between revisions of "Gitlab"

 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
GitLab instance: https://gitlab.eclipse.org/
 
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
+
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/
  
 +
== Cheat sheets ==
  
=== Notifications ===
+
=== For Bugzilla users ===
* Global notification settings are in your profile: https://gitlab.eclipse.org/profile/notifications
+
==== Notifications ====
* Group notificaton settings are also in your profile
+
* Global and group notification settings can be found in your profile: https://gitlab.eclipse.org/profile/notifications
 
* To "watch" a project, go to that project page. The notification bell at the top left can be changed to watch.
 
* To "watch" a project, go to that project page. The notification bell at the top left can be changed to watch.
  
=== Contributing code ===
+
==== CC ====
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
+
 
+
=== CC ===
+
 
* Currently no specific way to CC someone. See: https://gitlab.com/gitlab-org/gitlab/-/issues/197288
 
* 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
+
* You can mention a user with "@<username>" (e.g. @user1) in the comments, though. See: https://gitlab.eclipse.org/eclipsefdn/gitlab/-/issues/2#note_5
  
=== Quick actions ===
+
==== Quick actions ====
 
See: https://docs.gitlab.com/ee/user/project/quick_actions.html
 
See: https://docs.gitlab.com/ee/user/project/quick_actions.html
  
 +
==== Bug blocks .. depends on functionality ====
  
== Migrating from Gerrit and Bugzilla ==
+
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
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
+
  
 +
==== Duplicates ====
  
To migrate your Git + Bugzilla to Gitlab: Please file an issue in Eclipse Foundation > Gitlab
+
It can not be set in the UI directly, but with a quick action in a comment of an issue:
* (https://gitlab.eclipse.org/eclipsefdn/gitlab/-/issues)
+
 
 +
<code>/duplicate <#issue></code>
 +
 
 +
=== For Gerrit users ===
 +
==== Contributing code ====
 +
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
 +
 
 +
== Migration ==
 +
 
 +
=== Request a migration to GitLab ===
 +
To migrate your Git/Gerrit repos + Bugzilla issues to GitLab, please file an issue in the [https://gitlab.eclipse.org/eclipsefdn/gitlab/-/issues GitLab HelpDesk]
 +
 
 +
=== Known issues/Caveats ===
 +
==== Gerrit changes/reviews ====
 +
Although the complete Git repository, with history, is migrated, Gerrit changes/reviews are not imported.
 +
==== Bugzilla bug and comment attributions ====
 +
All bugs are migrated as issues. The original submitter's name, and each commenter's name is preserved '''only if the submitter/commenter has a GitLab user account'''.
  
 
=== Migration FAQ ===
 
=== Migration FAQ ===
  
'''Q: Big picture - what is involved in migrating a repository from github to gitlab?'''
+
==== GitHub to GitLab ====
 +
 
 +
===== '''Big picture - what is involved in migrating a repository from GitHub to GitLab?''' =====
 +
First step is to coordinate the move with your community. Then, filing a GitLab issue at https://gitlab.eclipse.org/eclipsefdn/gitlab/-/issues.
  
A: First step is to cordinate the move with your community. Then, filing a Gitlab issue at https://gitlab.eclipse.org/eclipsefdn/gitlab/-/issues
+
===== '''What is the learning curve for contributors?''' =====
 +
GitHub and GitLab are very similar in functionality. For example "Pull requests" (GitHub) are called "Merge requests" in GitLab.
  
 +
===== '''Are there contribution procedures in place for contributors to Eclipse projects?''' =====
 +
The same ones as found at GitHub.
  
'''Q:What is the learning curve for contributors?'''
+
==== Does the ECA check work the same? ====
 +
Yes!
  
A: As far as I can tell, it is close in functionality to Github.
+
==== Can we use GitLab runners and GitLab CI? ====
  
 +
Jiro is the only CI supported for now. We are investigating how some functionality (dependency checks, GitLab pages) can be handled with GitLab CI,
 +
but we are not offering GitLab runners for handling CI tasks for now. Projects will still be able to add their own runners, similar to how projects can add their own Jenkins build agents.
  
'''Q: Are there contribution procedures in place for contributors to Eclipse projects?'''
+
==== What permissions do contributors/committers/project leads get? ====
  
A: The same ones as found at Github.
+
Default permissions:
 +
* Project leads get "Maintainer" permissions.
 +
* Committers of a project get "Developer" permissions.
 +
* Contributors can get "Reporter" permissions.
  
 +
Overview of project member permissions: https://gitlab.eclipse.org/help/user/permissions.md
  
'''Q: Does ECA check work the same?'''
+
<span style="color: red; font-weight: bold">Maintainer permissions include a few actions that project leads should not use:</span>
 +
* <span style="color: red">"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.</span>
 +
* <span style="color: red">"Edit comments (posted by any user)" => Projects leads are not allowed to edit comments by any other user than themselves.</span>
  
A: Yes!
+
<span style="color: red; font-weight: bold">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.</span>

Latest revision as of 16:16, 11 March 2022

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/

Cheat sheets

For Bugzilla users

Notifications

CC

Quick actions

See: https://docs.gitlab.com/ee/user/project/quick_actions.html

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

Duplicates

It can not be set in the UI directly, but with a quick action in a comment of an issue:

/duplicate <#issue>

For Gerrit users

Contributing code

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

Migration

Request a migration to GitLab

To migrate your Git/Gerrit repos + Bugzilla issues to GitLab, please file an issue in the GitLab HelpDesk

Known issues/Caveats

Gerrit changes/reviews

Although the complete Git repository, with history, is migrated, Gerrit changes/reviews are not imported.

Bugzilla bug and comment attributions

All bugs are migrated as issues. The original submitter's name, and each commenter's name is preserved only if the submitter/commenter has a GitLab user account.

Migration FAQ

GitHub to GitLab

Big picture - what is involved in migrating a repository from GitHub to GitLab?

First step is to coordinate the move with your community. Then, filing a GitLab issue at https://gitlab.eclipse.org/eclipsefdn/gitlab/-/issues.

What is the learning curve for contributors?

GitHub and GitLab are very similar in functionality. For example "Pull requests" (GitHub) are called "Merge requests" in GitLab.

Are there contribution procedures in place for contributors to Eclipse projects?

The same ones as found at GitHub.

Does the ECA check work the same?

Yes!

Can we use GitLab runners and GitLab CI?

Jiro is the only CI supported for now. We are investigating how some functionality (dependency checks, GitLab pages) can be handled with GitLab CI, but we are not offering GitLab runners for handling CI tasks for now. Projects will still be able to add their own runners, similar to how projects can add their own Jenkins build agents.

What permissions do contributors/committers/project leads get?

Default permissions:

  • Project leads get "Maintainer" permissions.
  • Committers of a project get "Developer" permissions.
  • Contributors can get "Reporter" permissions.

Overview of project member permissions: https://gitlab.eclipse.org/help/user/permissions.md

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.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.