| = New Gerrit Features 2.1.8 -> 2.4 |
| :backend: slidy |
| :max-width: 70em |
| :data-uri: |
| |
| == New Gerrit Features 2.1.8 -> 2.4 |
| An upgrade of Gerrit from version 2.1.8 to version 2.4 makes a lot of |
| new features available. This presentation explains those new features |
| which are most interesting to end users. |
| |
| For the complete list of new features and bug-fixes please consult the |
| official link:http://gerrit-documentation.googlecode.com/svn/ReleaseNotes/index.html[ |
| release notes]. |
| |
| [[title-page]] |
| == WebUI |
| |
| == `Rebase Change` Button on the Change Screen |
| There is a new button on the change screen that allows you to do a |
| trivial rebase directly in the WebUI. It will automatically rebase |
| the change and create a new patch set. If the rebase results in |
| conflicts the operation fails and the rebase has to be done in the |
| local repository as usual. |
| |
| image:../../img/rebase-change.png[Rebase Change] |
| |
| == Support for expanding the Context for a Diff |
| When doing reviews there is often a need to see additional context |
| around the changed lines. The context can now be extended by a single |
| click: |
| |
| image:../../img/expand-context.png["Expand Context",width=1400] |
| |
| == Highlight Outdated Dependencies on Change Screen |
| If a change depends on an old patch set of another change it cannot |
| get merged. This outdated dependency is now highlighted in red on the |
| change screen. |
| |
| image:../../img/outdated-dependency.png[Outdated Dependency] |
| |
| == Top Level Menu on the Patch Screen |
| On the Patch Screen there is now a top level menu that allows you to |
| |
| * switch between the Side-by-Side diff and the Unified Diff |
| * to change the compared patch sets |
| * to see additional change information (commit message, file list) |
| * to change the user preferences |
| |
| image:../../img/patch-screen-top-level-menus.png[Top Level Menus] |
| |
| == Display Merge Commits as Differences from Automatic Merge Result |
| This allows you to do code review for merge commits. |
| |
| image:../../img/merge-commit.png[Merge Commit] |
| |
| == Adding Groups as Reviewer |
| Groups can now be added as reviewer on a change. On adding the group |
| will be expanded so that every member of the group is added as |
| reviewer to the change. |
| |
| image:../../img/add-group-as-reviewer.png[Add Group as Reviewer] |
| |
| == Case insensitive login to Gerrit WebUI |
| For LDAP the login to the Gerrit WebUI can now be configured to be |
| case insensitive. |
| |
| [[title-page]] |
| == Access Rights |
| |
| == Refinement of the Access Rights |
| The access rights were reworked and are now more fine-grained. In the |
| Gerrit documentation a |
| link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.4/access-control.html#conversion_table[ |
| conversion table] for the access rights is available. The new access |
| rights are all |
| link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.4/access-control.html#access_category[ |
| documented] in details. |
| |
| == New Screen for editing the Access Rights |
| |
| image:../../img/access-rights-screen.png[Access Rights Screen] |
| |
| == Access Rights stored in the Git Repository |
| The access rights for a project are now stored directly in the |
| project's git repository in a special branch called |
| `refs/meta/config`. By this, changes to the access rights are now |
| versioned. When changing the access rights a commit message can be |
| provided. From the history of the `refs/meta/config` branch you can |
| see who changed which permission. |
| |
| image:../../img/access-rights-in-git.png[Access Rights in Git] |
| |
| == Support blocking Access Rights |
| Access rights can now be blocked. This feature is used to globally |
| disallow deletion and changing of tags (which would break build |
| reproducability). With this feature it is now again possible for |
| project owners to assign force push on branches. |
| |
| == Documentation of Example Access Rights for Typical Roles |
| In the link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.4/access-control.html#_examples_of_typical_roles_in_a_project[ |
| Gerrit access right documentation] it is now explained for typical |
| roles which access rights should normally be assigned. |
| |
| == Permissions for Administrative Actions can now be assigned on a Fine-Grained Level |
| The system capabilities that can be assigned are explained in the |
| link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.4/access-control.html#_system_capabilities[ |
| Gerrit access rights documentation]. |
| |
| [[title-page]] |
| == Other |
| |
| == Support for custom Submit Rules on Project Level |
| It is now possible to write a submit rule in Prolog and to configure |
| it for a project. A submit rule defines when a change is submittable. |
| E.g. it's possible to implement a submit rule that makes the change |
| only submittable if at least 2 reviewers gave a positive voting. |
| |
| == Support for Draft Patch Sets |
| Patch sets can now be uploaded as drafts. A draft patch set is only |
| visible to the author. Only after explicitly publishing it, it gets |
| visible to other users. Draft patch sets can be deleted by the |
| author. A draft patch set may be shared with other users by explictly |
| adding them as reviewer on the change. With this you might get |
| feedback on your draft patch set from certain reviewers without |
| exposing it to all users. |
| |
| To push a commit as draft, it has to be pushed to |
| `refs/drafts/<target-branch>`. |
| |
| image:../../img/draft-1.png[Draft] |
| |
| image:../../img/draft-2.png[Draft] |
| |
| image:../../img/draft-3.png[Draft] |
| |
| WARNING: The Gerrit Trigger Plugin is not aware of draft patch sets |
| yet. If you publish a draft patch set the Gerrit Trigger Plugin does |
| *NOT* trigger a build for this patch set, but you have to trigger the |
| build manually as described |
| link:https://wiki/wiki/display/LeanDI/Git+Gerrit+-+FAQ#GitGerrit-FAQ-HowcanIrepeatthebuildandHudsonvotingforapendingGerritchange%3F[here]. |
| |
| == Support for Project States |
| Projects can now be set to different states: |
| |
| * `Active`: |
| + |
| A regular project that is active (default value) |
| |
| * `Read Only`: |
| + |
| Users can see the project if `Read` permission is granted, but all |
| modification operations are disabled |
| |
| * `Hidden`: |
| + |
| The project is not visible for those who are not project owners |
| |
| image:../../img/project-states.png[Project States] |
| |
| == Documentation |
| |
| === A quick Introduction to Gerrit |
| http://gerrit-documentation.googlecode.com/svn/Documentation/2.4/intro-quick.html |
| |
| === Quick Get Started Guide |
| In addition to the detailed |
| link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.4/install.html[ |
| installation instructions] there is now a |
| link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.4/install-quick.html[ |
| quick get started guide]. |
| |
| ++++ |
| <style type="text/css"> |
| #title-page { |
| border-bottom: 0; |
| text-align: center; |
| position: relative; |
| top: 30%; |
| font-size: 100px; |
| } |
| </style> |
| ++++ |
| |