Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Reviews/GerritConnectorProposalDraft"

(Description)
 
(7 intermediate revisions by 4 users not shown)
Line 3: Line 3:
 
== Background  ==
 
== Background  ==
  
The Eclipse community and many other organizations are moving towards Git. Gerrit is the preferred code review solution in a Git-based environment.  
+
Gerrit is a web based code review system, facilitating online code reviews for projects using the Git version control system. The Eclipse community and many other organizations are moving towards Git and Gerrit, which is the preferred code review solution in Git environments.
 +
 
 +
While the EGit project provides first class integration for Eclipse, there is no equivalent tooling for Gerrit. The increasing popularity of the EGit project has resulted in community requests to provide such an integration to leverage the full potential of Git-based code reviews from within the IDE.
  
 
== Scope  ==
 
== Scope  ==
  
The scope of this project is to provide a Gerrit connector for Mylyn. The following features are planned:<br>
+
The scope of this project is to provide a Gerrit connector for the Mylyn Reviews framework. The following features are planned:
  
*Incooperate the Gerrit reviews in the Mylyn task list
+
* Integrate Gerrit reviews with the Mylyn Task List
*Provide a rich editor for reviews  
+
* Provide a rich editor for reviews  
*Offline support
+
* Support offline access
*Provide inline-commenting for source code reviews<br>
+
* Provide inline-commenting for source code reviews
 +
* Provide change notifications
 +
* Integrate with EGit/JGit
 +
** to enable convenient manipulation (download, modification, upload) of patchsets (git commits) attached to review tasks
 +
** to automate adding the ChangeId for Gerrit managed changes
 +
** to enable comparison of patchsets for a given review task
 +
** to discard local topic branch as soon as change has been accepted and merged into the target branch
  
 
== Description  ==
 
== Description  ==
  
The proposed project will be based on the [http://www.eclipse.org/reviews Mylyn Reviews framework]. The framework provides a common review model that needs to be extended to render all features of the Gerrit connector. In addition, the inline commenting feature will be provided by the Reviews framework.  
+
The proposed project will be based on the [http://www.eclipse.org/reviews Mylyn Reviews framework]. The framework provides a common model for reviews and reusable UI components such as support for inline commenting. It will also integrate with [http://www.eclipse.org/egit EGit] and [http://www.eclipse.org/jgit JGit] e.g. to enable downloading, uploading and comparing changes and to enable updating changes which have been improved based on review comments.
 +
 
 +
The Gerrit connector is composed of a core and UI part.
  
=== Planned plugins  ===
+
'''Core''': Provides the Gerrit specific data model which extends the model provided by the Mylyn Reviews framework. Additionally, the core provides network access functionality to Gerrit servers and integration with JGit and EGit core.
  
*Mylyn Reviews Gerrit Connector Core
+
'''UI''': Provides Gerrit specific UI integration, e.g. for managing Gerrit servers or creating queries for reviews. Also integrates with EGit UI for manipulation of changes.
*Mylyn Reviews Gerrit Connector UI
+
  
=== Initial contribution<br>  ===
+
=== Initial contribution ===
  
The initial contribution is provided by SonyEricsson. (TODO link CQ)<br>
+
The initial contribution is provided by SonyEricsson and consists of a basic connector that integrates Gerrit with the Mylyn Task List.
  
 
== Organization  ==
 
== Organization  ==
  
=== Initial committers<br>  ===
+
The project is setup as a sub-sub project under the Mylyn Reviews project.
  
*Chris Aniszczyk
+
=== Initial committers ===
*Matthias Sohn
+
*Steffen Pingel
+
*Kilian Matt
+
*Mario Bernhart
+
  
=== Interested parties<br>  ===
+
* Chris Aniszczyk (Red Hat)
 +
* Matthias Sohn (SAP)
 +
* Steffen Pingel (Tasktop Technologies)
 +
* Kilian Matt (INSO)
 +
* Mario Bernhart (INSO)
  
=== Mentors<br>  ===
+
=== Mentors ===
  
*Mik Kersten  
+
* Mik Kersten  
*Chris Aniszczyk
+
* Chris Aniszczyk
  
=== Developer community<br>  ===
+
=== Interested parties ===
  
We expect to extend the initial set of committers by actively supporting a developer community. We will make it easy for interested parties to take an active role in the sub-project by making our planning and process transparent and remotely accessible.
+
* Benjamin Muskalla (EclipseSource)
 +
* Shawn Pearce (Google)
  
=== User community<br> ===
+
=== Community ===
  
Gerrit has a broad user community (e.g. Eclipse.org or Android).  
+
We expect to extend the initial set of committers by actively supporting a developer community. We will make it easy for interested parties to take an active role in the project by making our planning and process transparent.
  
 
== Tentative Plan  ==
 
== Tentative Plan  ==
  
Presentation of a stable and useable initial version at EclipseCon 2011.
+
Presentation of a stable and usable initial version at EclipseCon 2011.

Latest revision as of 11:19, 29 September 2010

Mylyn Reviews Gerrit Connector

Background

Gerrit is a web based code review system, facilitating online code reviews for projects using the Git version control system. The Eclipse community and many other organizations are moving towards Git and Gerrit, which is the preferred code review solution in Git environments.

While the EGit project provides first class integration for Eclipse, there is no equivalent tooling for Gerrit. The increasing popularity of the EGit project has resulted in community requests to provide such an integration to leverage the full potential of Git-based code reviews from within the IDE.

Scope

The scope of this project is to provide a Gerrit connector for the Mylyn Reviews framework. The following features are planned:

  • Integrate Gerrit reviews with the Mylyn Task List
  • Provide a rich editor for reviews
  • Support offline access
  • Provide inline-commenting for source code reviews
  • Provide change notifications
  • Integrate with EGit/JGit
    • to enable convenient manipulation (download, modification, upload) of patchsets (git commits) attached to review tasks
    • to automate adding the ChangeId for Gerrit managed changes
    • to enable comparison of patchsets for a given review task
    • to discard local topic branch as soon as change has been accepted and merged into the target branch

Description

The proposed project will be based on the Mylyn Reviews framework. The framework provides a common model for reviews and reusable UI components such as support for inline commenting. It will also integrate with EGit and JGit e.g. to enable downloading, uploading and comparing changes and to enable updating changes which have been improved based on review comments.

The Gerrit connector is composed of a core and UI part.

Core: Provides the Gerrit specific data model which extends the model provided by the Mylyn Reviews framework. Additionally, the core provides network access functionality to Gerrit servers and integration with JGit and EGit core.

UI: Provides Gerrit specific UI integration, e.g. for managing Gerrit servers or creating queries for reviews. Also integrates with EGit UI for manipulation of changes.

Initial contribution

The initial contribution is provided by SonyEricsson and consists of a basic connector that integrates Gerrit with the Mylyn Task List.

Organization

The project is setup as a sub-sub project under the Mylyn Reviews project.

Initial committers

  • Chris Aniszczyk (Red Hat)
  • Matthias Sohn (SAP)
  • Steffen Pingel (Tasktop Technologies)
  • Kilian Matt (INSO)
  • Mario Bernhart (INSO)

Mentors

  • Mik Kersten
  • Chris Aniszczyk

Interested parties

  • Benjamin Muskalla (EclipseSource)
  • Shawn Pearce (Google)

Community

We expect to extend the initial set of committers by actively supporting a developer community. We will make it easy for interested parties to take an active role in the project by making our planning and process transparent.

Tentative Plan

Presentation of a stable and usable initial version at EclipseCon 2011.

Back to the top