blob: d4b92c03840c688feb8d88ba46c402451cefbd68 [file] [log] [blame]
= 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>
++++