summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/access-control.txt13
-rw-r--r--Documentation/cmd-stream-events.txt4
-rw-r--r--Documentation/config-gerrit.txt60
-rw-r--r--Documentation/config-labels.txt8
-rw-r--r--Documentation/config-themes.txt (renamed from Documentation/config-headerfooter.txt)20
-rw-r--r--Documentation/dev-eclipse.txt15
-rw-r--r--Documentation/dev-release-deploy-config.txt3
-rw-r--r--Documentation/dev-release.txt9
-rw-r--r--Documentation/index.txt2
-rw-r--r--Documentation/install.txt2
-rw-r--r--Documentation/licenses.txt1
-rw-r--r--Documentation/rest-api-accounts.txt202
-rw-r--r--Documentation/rest-api-changes.txt161
-rw-r--r--Documentation/rest-api-projects.txt69
-rw-r--r--Documentation/user-upload.txt34
15 files changed, 578 insertions, 25 deletions
diff --git a/Documentation/access-control.txt b/Documentation/access-control.txt
index 100e47312f..ab32d78a77 100644
--- a/Documentation/access-control.txt
+++ b/Documentation/access-control.txt
@@ -775,6 +775,10 @@ In order to submit, all labels (such as `Verified` and `Code-Review`,
above) must enable submit, and also must not block it. See above for
details on each label.
+To link:user-upload.html#auto_merge[immediately submit a change on push]
+the caller needs to have the Submit permission on `refs/for/<ref>`
+(e.g. on `refs/for/refs/heads/master`).
+
[[category_view_drafts]]
View Drafts
@@ -1312,6 +1316,15 @@ Allow access to execute `replication start` command, if the
replication plugin is installed on the server.
+[[capability_streamEvents]]
+Stream Events
+~~~~~~~~~~~~~
+
+Allow performing streaming of Gerrit events. This capability
+allows the granted group to
+link:cmd-stream-events.html[stream Gerrit events via ssh].
+
+
[[capability_viewCaches]]
View Caches
~~~~~~~~~~~
diff --git a/Documentation/cmd-stream-events.txt b/Documentation/cmd-stream-events.txt
index ce23da67f0..6da0ef0242 100644
--- a/Documentation/cmd-stream-events.txt
+++ b/Documentation/cmd-stream-events.txt
@@ -23,7 +23,9 @@ Event output is in JSON, one event per line.
ACCESS
------
-Any user who has configured an SSH key.
+Caller must be a member of the privileged 'Administrators' group,
+or have been granted
+link:access-control.html#capability_streamEvents[the 'Stream Events' global capability].
SCRIPTING
---------
diff --git a/Documentation/config-gerrit.txt b/Documentation/config-gerrit.txt
index 6228a94ab7..3591c7793f 100644
--- a/Documentation/config-gerrit.txt
+++ b/Documentation/config-gerrit.txt
@@ -744,6 +744,11 @@ how the replacement is displayed to the user.
html = $1<a href=\"http://trak.example.com/$2\">$2</a>
----
+Comment links can also be specified in `project.config` and sections in
+children override those in parents. The only restriction is that to
+avoid injecting arbitrary user-supplied HTML in the page, comment links
+defined in `project.config` may only supply `link`, not `html`.
+
[[commentlink.name.match]]commentlink.<name>.match::
+
A JavaScript regular expression to match positions to be replaced
@@ -779,6 +784,21 @@ match expression may be accessed as `$'n'`.
The configuration file eats double quotes, so escaping them as
`\"` is necessary to protect them from the parser.
+[[commentlink.name.enabled]]commentlink.<name>.enabled::
++
+Whether the comment link is enabled. A child project may override a
+section in a parent or the site-wide config that is disabled by
+specifying `enabled = true`.
++
+Disabling sections in `gerrit.config` can be used by site administrators
+to create a library of comment links with `html` set that are not
+user-supplied and thus can be verified to be XSS-free, but are only
+enabled for a subset of projects.
++
+Note that the names and contents of disabled sections are visible even
+to anonymous users via the
+link:rest-api-projects.html#get-config[REST API].
+
[[contactstore]]Section contactstore
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1322,6 +1342,16 @@ using the property 'gitweb.pathSeparator'.
+
Valid values are the characters '*', '(' and ')'.
+[[gitweb.linkDrafts]]gitweb.linkDrafts::
++
+Whether or not Gerrit should provide links to gitweb on draft patch sets.
++
+By default, Gerrit will show links to gitweb on all patch sets. If gitweb
+only allows publicly viewable references, set this to false to remove
+the links to draft patch sets from the change review screen.
++
+Valid values are "true" and "false," default is "true."
+
[[groups]]Section groups
~~~~~~~~~~~~~~~~~~~~~~~~
@@ -2439,6 +2469,34 @@ Supported MACs: hmac-md5, hmac-md5-96, hmac-sha1, hmac-sha1-96.
+
By default, all supported MACs are available.
+[[sshd.kerberosKeytab]]sshd.kerberosKeytab::
++
+Enable kerberos authentication for SSH connections. To permit
+kerberos authentication, the server must have a host principal
+(see `sshd.kerberosPrincipal`) which is acquired from a keytab.
+This must be provisioned by the kerberos administrators, and is
+typically installed into `/etc/krb5.keytab` on host machines.
++
+The keytab must contain at least one `host/` principal, typically
+using the host's canonical name. If it does not use the
+canonical name, the `sshd.kerberosPrincipal` should be configured
+with the correct name.
++
+By default, not set and so kerberos authentication is not enabled.
+
+[[sshd.kerberosPrincipal]]sshd.kerberosPrincipal::
++
+If kerberos authentication is enabled with `sshd.kerberosKeytab`,
+instead use the given principal name instead of the default.
+If the principal does not begin with `host/` a warning message is
+printed and may prevent successful authentication.
++
+This may be useful if the host is behind an IP load balancer or
+other SSH forwarding systems, since the principal name is constructed
+by the client and must match for kerberos authentication to work.
++
+By default, `host/canonical.host.name`
+
[[suggest]] Section suggest
~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -2734,7 +2792,7 @@ Files in this directory provide additional configuration.
+
Other files support site customization.
+
-* link:config-headerfooter.html[Site Header/Footer]
+* link:config-themes.html[Themes]
GERRIT
------
diff --git a/Documentation/config-labels.txt b/Documentation/config-labels.txt
index 2fd7a95194..1ff7e24e6e 100644
--- a/Documentation/config-labels.txt
+++ b/Documentation/config-labels.txt
@@ -221,6 +221,14 @@ determining whether a change is submittable.
If true, the lowest possible negative value for the label is copied
forward when a new patch set is uploaded.
+[[label_copyMaxScore]]
+`label.Label-Name.copyMaxScore`
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If true, the highest possible positive value for the label is copied
+forward when a new patch set is uploaded. This can be used to enable
+sticky approvals, reducing turn-around for trivial cleanups prior to
+submitting a change.
[[label_canOverride]]
`label.Label-Name.canOverride`
diff --git a/Documentation/config-headerfooter.txt b/Documentation/config-themes.txt
index ae5d8f7eb5..c102381860 100644
--- a/Documentation/config-headerfooter.txt
+++ b/Documentation/config-themes.txt
@@ -1,29 +1,39 @@
-Gerrit Code Review - Site Customization
-=======================================
+Gerrit Code Review - Themes
+===========================
Gerrit supports some customization of the HTML it sends to
the browser, allowing organizations to alter the look and
feel of the application to fit with their general scheme.
+Configuration can either be sitewide or per-project. Projects without a
+specified theme inherit from their parents, or from the sitewide theme
+for `All-Projects`.
+
+Sitewide themes are stored in `'$site_path'/etc`, and per-project
+themes are stored in `'$site_path'/themes/{project-name}`. Files are
+only served from a single theme directory; if you want to modify or
+extend an inherited theme, you must copy it into the appropriate
+per-project directory.
+
HTML Header/Footer
------------------
At startup Gerrit reads the following files (if they exist) and
uses them to customize the HTML page it sends to clients:
-* `'$site_path'/etc/GerritSiteHeader.html`
+* `<theme-dir>/GerritSiteHeader.html`
+
HTML is inserted below the menu bar, but above any page content.
This is a good location for an organizational logo, or links to
other systems like bug tracking.
-* `'$site_path'/etc/GerritSiteFooter.html`
+* `<theme-dir>/GerritSiteFooter.html`
+
HTML is inserted at the bottom of the page, below all other content,
but just above the footer rule and the "Powered by Gerrit Code
Review (v....)" message shown at the extreme bottom.
-* `'$site_path'/etc/GerritSite.css`
+* `<theme-dir>/GerritSite.css`
+
The CSS rules are inlined into the top of the HTML page, inside
of a `<style>` tag. These rules can be used to support styling
diff --git a/Documentation/dev-eclipse.txt b/Documentation/dev-eclipse.txt
index 64e5935689..019c78f0d7 100644
--- a/Documentation/dev-eclipse.txt
+++ b/Documentation/dev-eclipse.txt
@@ -79,10 +79,9 @@ Duplicate the existing `pgm_daemon` launch configuration:
Running Hosted Mode
~~~~~~~~~~~~~~~~~~~
-To debug the GWT code executing in the web browser, three additional Git
+To debug the GWT code executing in the web browser, two additional Git
repositories need to be cloned.
-* https://gerrit.googlesource.com/gwtexpui
* https://gerrit.googlesource.com/gwtjsonrpc
* https://gerrit.googlesource.com/gwtorm
@@ -121,6 +120,18 @@ the link:config-gerrit.html#auth.type[auth.type] configuration parameter
to `DEVELOPMENT_BECOME_ANY_ACCOUNT` to disable OpenID and allow you to
impersonate whatever account you otherwise would've used.
+* Gerrit site doesn't appear, only directory listing is shown. Web toolkit
+developer browser plugin is missing. If there is no warning, that browser
+plugin is missing with the suggestion to install it, you can install the
+right extension for your browser from the following locations:
++
+https://dl.google.com/dl/gwt/plugins/chrome/gwt-dev-plugin.crx[Chrome]
++
+link:https://dl.google.com/dl/gwt/plugins/firefox/gwt-dev-plugin.xpi[Firefox]
++
+link:http://dl.google.com/dl/gwt/plugins/ie/1.0.7263.20091208111100/gwt-dev-plugin.msi[IE]
++
+https://dl.google.com/dl/gwt/plugins/safari/gwt-dev-plugin.dmg[Safari]
GERRIT
------
diff --git a/Documentation/dev-release-deploy-config.txt b/Documentation/dev-release-deploy-config.txt
index bc52d5009b..ffdb6ea775 100644
--- a/Documentation/dev-release-deploy-config.txt
+++ b/Documentation/dev-release-deploy-config.txt
@@ -14,8 +14,7 @@ Jar.
* `gerrit-maven`:
+
-Bucket to store Gerrit Subproject Artifacts (e.g. `gwtexpui`,
-`gwtjsonrpc` etc.).
+Bucket to store Gerrit Subproject Artifacts (e.g. `gwtjsonrpc` etc.).
* `gerrit-plugins`:
+
diff --git a/Documentation/dev-release.txt b/Documentation/dev-release.txt
index ae2aed689e..cd7cd34ea7 100644
--- a/Documentation/dev-release.txt
+++ b/Documentation/dev-release.txt
@@ -111,7 +111,6 @@ Release Subprojects
The subprojects to be released are:
-* `gwtexpui`
* `gwtjsonrpc`
* `gwtorm`
* `prolog-cafe`
@@ -139,16 +138,8 @@ Build Gerrit
* Build the Gerrit WAR
+
====
- rm -f ~/.m2/settings.xml
./tools/release.sh
====
-+
-[WARNING]
-========================================================================
-Make sure you are compiling the release for all browsers. Check in your
-Maven `~/.m2/settings.xml` file that no Maven profile is active that
-limits the compilation to a certain browser.
-========================================================================
* Sanity check WAR
* Test the new Gerrit version
diff --git a/Documentation/index.txt b/Documentation/index.txt
index 9b2d8ebbaa..88b50fac54 100644
--- a/Documentation/index.txt
+++ b/Documentation/index.txt
@@ -48,7 +48,7 @@ Configuration
* link:config-gerrit.html[System Settings]
* link:config-contact.html[User Contact Information]
* link:config-gitweb.html[Gitweb Integration]
-* link:config-headerfooter.html[Site Header/Footer]
+* link:config-themes.html[Themes]
* link:config-sso.html[Single Sign-On Systems]
* link:config-reverseproxy.html[Reverse Proxy]
* link:config-hooks.html[Hooks]
diff --git a/Documentation/install.txt b/Documentation/install.txt
index 4b14ff0bba..a18a506d29 100644
--- a/Documentation/install.txt
+++ b/Documentation/install.txt
@@ -143,7 +143,7 @@ For more information, see the related topics in this manual:
* link:config-reverseproxy.html[Reverse Proxy]
* link:config-sso.html[Single Sign-On Systems]
-* link:config-headerfooter.html[Site Header/Footer]
+* link:config-themes.html[Themes]
* link:config-gitweb.html[Gitweb Integration]
* link:config-gerrit.html[Other System Settings]
diff --git a/Documentation/licenses.txt b/Documentation/licenses.txt
index 69a12c3e12..fbdd9cd33f 100644
--- a/Documentation/licenses.txt
+++ b/Documentation/licenses.txt
@@ -12,7 +12,6 @@ Included Components
|======================================================================
|Included Package | License
|Gerrit Code Review | <<apache2,Apache License 2.0>>
-|gwtexpui | <<apache2,Apache License 2.0>>
|gwtjsonrpc | <<apache2,Apache License 2.0>>
|gwtorm | <<apache2,Apache License 2.0>>
|Google Gson | <<apache2,Apache License 2.0>>
diff --git a/Documentation/rest-api-accounts.txt b/Documentation/rest-api-accounts.txt
index 2ccd39a465..f17a741b58 100644
--- a/Documentation/rest-api-accounts.txt
+++ b/Documentation/rest-api-accounts.txt
@@ -257,6 +257,115 @@ The response redirects to the URL of the avatar image.
Location: https://profiles/avatar/john_doe.jpeg?s=20x20
----
+[[get-avatar-change-url]]
+Get Avatar Change URL
+~~~~~~~~~~~~~~~~~~~~~
+[verse]
+'GET /accounts/link:#account-id[\{account-id\}]/avatar.change.url'
+
+Retrieves the URL where the user can change the avatar image.
+
+.Request
+----
+ GET /a/accounts/self/avatar.change.url HTTP/1.0
+----
+
+.Response
+----
+ HTTP/1.1 200 OK
+ Content-Disposition: attachment
+ Content-Type: text/plain;charset=UTF-8
+
+ https://profiles/pictures/john.doe
+----
+
+[[get-diff-preferences]]
+Get Diff Preferences
+~~~~~~~~~~~~~~~~~~~~
+[verse]
+'GET /accounts/link:#account-id[\{account-id\}]/preferences.diff'
+
+Retrieves the diff preferences of a user.
+
+.Request
+----
+ GET /a/accounts/self/preferences.diff HTTP/1.0
+----
+
+As result the diff preferences of the user are returned as a
+link:#diff-preferences-info[DiffPreferencesInfo] entity.
+
+.Response
+----
+ HTTP/1.1 200 OK
+ Content-Disposition: attachment
+ Content-Type: application/json;charset=UTF-8
+
+ )]}'
+ {
+ "context": 10,
+ "ignore_whitespace": "IGNORE_ALL_SPACE",
+ "intraline_difference": true,
+ "line_length": 100,
+ "show_tabs": true,
+ "show_whitespace_errors": true,
+ "syntax_highlighting": true,
+ "tab_size": 8
+ }
+----
+
+[[set-diff-preferences]]
+Set Diff Preferences
+~~~~~~~~~~~~~~~~~~~~
+[verse]
+'PUT /accounts/link:#account-id[\{account-id\}]/preferences.diff'
+
+Sets the diff preferences of a user.
+
+The new diff preferences must be provided in the request body as a
+link:#diff-preferences-input[DiffPreferencesInput] entity.
+
+.Request
+----
+ GET /a/accounts/self/preferences.diff HTTP/1.0
+ Content-Type: application/json;charset=UTF-8
+
+ {
+ "context": 10,
+ "ignore_whitespace": "IGNORE_ALL_SPACE",
+ "intraline_difference": true,
+ "line_length": 100,
+ "show_line_endings": true,
+ "show_tabs": true,
+ "show_whitespace_errors": true,
+ "syntax_highlighting": true,
+ "tab_size": 8
+ }
+----
+
+As result the new diff preferences of the user are returned as a
+link:#diff-preferences-info[DiffPreferencesInfo] entity.
+
+.Response
+----
+ HTTP/1.1 200 OK
+ Content-Disposition: attachment
+ Content-Type: application/json;charset=UTF-8
+
+ )]}'
+ {
+ "context": 10,
+ "ignore_whitespace": "IGNORE_ALL_SPACE",
+ "intraline_difference": true,
+ "line_length": 100,
+ "show_line_endings": true,
+ "show_tabs": true,
+ "show_whitespace_errors": true,
+ "syntax_highlighting": true,
+ "tab_size": 8
+ }
+----
+
[[ids]]
IDs
@@ -349,6 +458,99 @@ link:access-control.html#capability_startReplication[Start Replication]
capability.
|=================================
+[[diff-preferences-info]]
+DiffPreferencesInfo
+~~~~~~~~~~~~~~~~~~~
+The `DiffPreferencesInfo` entity contains information about the diff
+preferences of a user.
+
+[options="header",width="50%",cols="1,^1,5"]
+|=====================================
+|Field Name ||Description
+|`context` ||
+The number of lines of context when viewing a patch.
+|`expand_all_comments` |not set if `false`|
+Whether all inline comments should be automatically expanded.
+|`ignore_whitespace` ||
+Whether whitespace changes should be ignored and if yes, which
+whitespace changes should be ignored. +
+Allowed values are `IGNORE_NONE`, `IGNORE_SPACE_AT_EOL`,
+`IGNORE_SPACE_CHANGE`, `IGNORE_ALL_SPACE`.
+|`intraline_difference` |not set if `false`|
+Whether intraline differences should be highlighted.
+|`line_length` ||
+Number of characters that should be displayed in one line.
+|`manual_review` |not set if `false`|
+Whether the 'Reviewed' flag should not be set automatically on a patch
+when it is viewed.
+|`retain_header` |not set if `false`|
+Whether the header that is displayed above the patch (that either shows
+the commit message, the diff preferences, the patch sets or the files)
+should be retained on file switch.
+|`show_line_endings` |not set if `false`|
+Whether Windows EOL/Cr-Lf should be displayed as '\r' in a dotted-line
+box.
+|`show_tabs` |not set if `false`|
+Whether tabs should be shown.
+|`show_whitespace_errors`|not set if `false`|
+Whether whitespace errors should be shown.
+|`skip_deleted` |not set if `false`|
+Whether deleted files should be skipped on file switch.
+|`skip_uncommented` |not set if `false`|
+Whether uncommented files should be skipped on file switch.
+|`syntax_highlighting` |not set if `false`|
+Whether syntax highlighting should be enabled.
+|`tab_size` ||
+Number of spaces that should be used to display one tab.
+|=====================================
+
+[[diff-preferences-input]]
+DiffPreferencesInput
+~~~~~~~~~~~~~~~~~~~~
+The `DiffPreferencesInput` entity contains information for setting the
+diff preferences of a user. Fields which are not set will not be
+updated.
+
+[options="header",width="50%",cols="1,^1,5"]
+|=====================================
+|Field Name ||Description
+|`context` |optional|
+The number of lines of context when viewing a patch.
+|`expand_all_comments` |optional|
+Whether all inline comments should be automatically expanded.
+|`ignore_whitespace` |optional|
+Whether whitespace changes should be ignored and if yes, which
+whitespace changes should be ignored. +
+Allowed values are `IGNORE_NONE`, `IGNORE_SPACE_AT_EOL`,
+`IGNORE_SPACE_CHANGE`, `IGNORE_ALL_SPACE`.
+|`intraline_difference` |optional|
+Whether intraline differences should be highlighted.
+|`line_length` |optional|
+Number of characters that should be displayed in one line.
+|`manual_review` |optional|
+Whether the 'Reviewed' flag should not be set automatically on a patch
+when it is viewed.
+|`retain_header` |optional|
+Whether the header that is displayed above the patch (that either shows
+the commit message, the diff preferences, the patch sets or the files)
+should be retained on file switch.
+|`show_line_endings` |optional|
+Whether Windows EOL/Cr-Lf should be displayed as '\r' in a dotted-line
+box.
+|`show_tabs` |optional|
+Whether tabs should be shown.
+|`show_whitespace_errors`|optional|
+Whether whitespace errors should be shown.
+|`skip_deleted` |optional|
+Whether deleted files should be skipped on file switch.
+|`skip_uncommented` |optional|
+Whether uncommented files should be skipped on file switch.
+|`syntax_highlighting` |optional|
+Whether syntax highlighting should be enabled.
+|`tab_size` |optional|
+Number of spaces that should be used to display one tab.
+|=====================================
+
[[query-limit-info]]
QueryLimitInfo
~~~~~~~~~~~~~~
diff --git a/Documentation/rest-api-changes.txt b/Documentation/rest-api-changes.txt
index 696a1746d5..09c7e115e0 100644
--- a/Documentation/rest-api-changes.txt
+++ b/Documentation/rest-api-changes.txt
@@ -208,6 +208,11 @@ default. Optional fields are:
referencing accounts.
--
+[[messages]]
+--
+* `MESSAGES`: include messages associated with the change.
+--
+
.Request
----
GET /changes/?q=97&o=CURRENT_REVISION&o=CURRENT_COMMIT&o=CURRENT_FILES HTTP/1.0
@@ -356,7 +361,8 @@ Get Change Detail
'GET /changes/link:#change-id[\{change-id\}]/detail'
Retrieves a change with link:#labels[labels], link:#detailed-labels[
-detailed labels] and link:#detailed-accounts[detailed accounts].
+detailed labels], link:#detailed-accounts[detailed accounts], and
+link:#messages[messages].
.Request
----
@@ -473,6 +479,30 @@ describes the change.
"name": "Jane Roe",
"email": "jane.roe@example.com"
}
+ ],
+ "messages": [
+ {
+ "id": "YH-egE",
+ "author": {
+ "_account_id": 1000096,
+ "name": "John Doe",
+ "email": "john.doe@example.com"
+ },
+ "updated": "2013-03-23 21:34:02.419000000",
+ "message": "Patch Set 1:\n\nThis is the first message.",
+ "revision_number": 1
+ },
+ {
+ "id": "WEEdhU",
+ "author": {
+ "_account_id": 1000097,
+ "name": "Jane Roe",
+ "email": "jane.roe@example.com"
+ },
+ "updated": "2013-03-23 21:36:52.332000000",
+ "message": "Patch Set 1:\n\nThis is the second message.\n\nWith a line break.",
+ "revision_number": 1
+ }
]
}
----
@@ -1518,6 +1548,99 @@ Deletes a draft comment from a revision.
HTTP/1.1 204 No Content
----
+[[list-comments]]
+List Comments
+~~~~~~~~~~~~~
+[verse]
+'GET /changes/link:#change-id[\{change-id\}]/revisions/link:#revision-id[\{revision-id\}]/comments/'
+
+Lists the published comments of a revision.
+
+As result a map is returned that maps the file path to a list of
+link:#comment-info[CommentInfo] entries. The entries in the map are
+sorted by file path.
+
+.Request
+----
+ GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/comments/ HTTP/1.0
+----
+
+.Response
+----
+ HTTP/1.1 200 OK
+ Content-Disposition: attachment
+ Content-Type: application/json;charset=UTF-8
+
+ )]}'
+ {
+ "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java": [
+ {
+ "kind": "gerritcodereview#comment",
+ "id": "TvcXrmjM",
+ "line": 23,
+ "message": "[nit] trailing whitespace",
+ "updated": "2013-02-26 15:40:43.986000000",
+ "author": {
+ "_account_id": 1000096,
+ "name": "John Doe",
+ "email": "john.doe@example.com"
+ }
+ },
+ {
+ "kind": "gerritcodereview#comment",
+ "id": "TveXwFiA",
+ "line": 49,
+ "in_reply_to": "TfYX-Iuo",
+ "message": "Done",
+ "updated": "2013-02-26 15:40:45.328000000",
+ "author": {
+ "_account_id": 1000097,
+ "name": "Jane Roe",
+ "email": "jane.roe@example.com"
+ }
+ }
+ ]
+ }
+----
+
+[[get-comment]]
+Get Comment
+~~~~~~~~~~~
+[verse]
+'GET /changes/link:#change-id[\{change-id\}]/revisions/link:#revision-id[\{revision-id\}]/comments/link:#comment-id[\{comment-id\}]'
+
+Retrieves a published comment of a revision.
+
+.Request
+----
+ GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/comments/TvcXrmjM HTTP/1.0
+----
+
+As response a link:#comment-info[CommentInfo] entity is returned that
+describes the published comment.
+
+.Response
+----
+ HTTP/1.1 200 OK
+ Content-Disposition: attachment
+ Content-Type: application/json;charset=UTF-8
+
+ )]}'
+ {
+ "kind": "gerritcodereview#comment",
+ "id": "TvcXrmjM",
+ "path": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+ "line": 23,
+ "message": "[nit] trailing whitespace",
+ "updated": "2013-02-26 15:40:43.986000000",
+ "author": {
+ "_account_id": 1000096,
+ "name": "John Doe",
+ "email": "john.doe@example.com"
+ }
+ }
+----
+
[[set-reviewed]]
Set Reviewed
~~~~~~~~~~~~
@@ -1582,6 +1705,11 @@ This can be:
("I8473b95934b5732ac55d26311a706c9c2bde9940")
* a legacy numeric change ID ("4247")
+[[comment-id]]
+\{comment-id\}
+~~~~~~~~~~~~~~
+UUID of a published comment.
+
[[draft-id]]
\{draft-id\}
~~~~~~~~~~~~
@@ -1717,6 +1845,10 @@ Only set if link:#detailed-labels[detailed labels] are requested.
The reviewers that can be removed by the calling user as a list of
link:rest-api-accounts.html#account-info[AccountInfo] entities. +
Only set if link:#detailed-labels[detailed labels] are requested.
+|`messages`|optional|
+Messages associated with the change as a list of
+link:#change-message-info[ChangeMessageInfo] entities. +
+Only set if link:#messages[messages] are requested.
|`current_revision` |optional|
The commit ID of the current patch set of this change. +
Only set if link:#current-revision[the current revision] is requested
@@ -1730,6 +1862,27 @@ Whether the query would deliver more results if not limited. +
Only set on either the last or the first change that is returned.
|==================================
+[[change-message-info]]
+ChangeMessageInfo
+~~~~~~~~~~~~~~~~~
+The `ChangeMessageInfo` entity contains information about a message
+attached to a change.
+
+[options="header",width="50%",cols="1,^1,5"]
+|==================================
+|Field Name ||Description
+|`id` ||The ID of the message.
+|`author` |optional|
+Author of the message as an
+link:rest-api-accounts.html#account-info[AccountInfo] entity. +
+Unset if written by the Gerrit system.
+|`date` ||
+The link:rest-api.html#timestamp[timestamp] this message was posted.
+|`message` ||The text left by the user.
+|`_revision_number` |optional|
+Which patchset (if any) generated this message.
+|==================================
+
[[comment-info]]
CommentInfo
~~~~~~~~~~~
@@ -1739,7 +1892,7 @@ The `CommentInfo` entity contains information about an inline comment.
|===========================
|Field Name ||Description
|`kind` ||`gerritcodereview#comment`
-|`id` ||The URL encoded UUID of the draft comment.
+|`id` ||The URL encoded UUID of the comment.
|`path` |optional|
The path of the file for which the inline comment was done. +
Not set if returned in a map where the key is the file path.
@@ -1756,6 +1909,10 @@ The URL encoded UUID of the comment to which this comment is a reply.
|`updated` ||
The link:rest-api.html#timestamp[timestamp] of when this comment was
written.
+|`author` |optional|
+The author of the message as an +
+link:rest-api-accounts.html#account-info[AccountInfo] entity. +
+Unset for draft comments, assumed to be the calling user.
|===========================
[[comment-input]]
diff --git a/Documentation/rest-api-projects.txt b/Documentation/rest-api-projects.txt
index 9aba0e9133..f207d430b0 100644
--- a/Documentation/rest-api-projects.txt
+++ b/Documentation/rest-api-projects.txt
@@ -408,6 +408,42 @@ link:#repository-statistics-info[RepositoryStatisticsInfo] entity.
}
----
+[[get-config]]
+Get Config
+~~~~~~~~~~
+[verse]
+'GET /projects/link:#project-name[\{project-name\}]/config'
+
+Gets some configuration information about a project. Note that this
+config info is not simply the contents of `project.config`; it generally
+contains fields that may have been inherited from parent projects.
+
+.Request
+----
+ GET /projects/myproject/config
+----
+
+A link:#config-info[ConfigInfo] entity is returned that describes the
+project configuration. Some fields are only visible to users that have
+read access to `refs/meta/config`.
+
+.Response
+----
+ HTTP/1.1 200 OK
+ Content-Disposition: attachment
+ Content-Type: application/json;charset=UTF-8
+
+ )]}'
+ {
+ "kind": "gerritcodereview#project_config",
+ "use_contributor_agreements": false,
+ "use_content_merge": true,
+ "use_signed_off_by": false,
+ "require_change_id": true,
+ "commentlinks": {}
+ }
+----
+
[[run-gc]]
Run GC
~~~~~~
@@ -896,6 +932,39 @@ statistics of a Git repository.
|`size_of_packed_objects` |Size of packed objects in bytes.
|======================================
+[[config-info]]
+ConfigInfo
+~~~~~~~~~~
+The `ConfigInfo` entity contains information about the effective project
+configuration.
+
+Fields marked with * are only visible to users who have read access to
+`refs/meta/config`.
+
+[options="header",width="50%",cols="1,6"]
+|======================================
+|Field Name |Description
+|`use_contributor_agreements*`|
+If set, authors must complete a contributor agreement on the site
+before pushing any commits or changes to this project.
+|`use_content_merge*`|
+If set, Gerrit will try to perform a 3-way merge of text file content
+when a file has been modified by both the destination branch and the
+change being submitted. This option only takes effect if submit type is
+not FAST_FORWARD_ONLY.
+|`use_signed_off_by*`|
+If set, each change must contain a Signed-off-by line from either the
+author or the uploader in the commit message.
+|`require_change_id*`|
+If set, require a valid link:user-changeid.html[Change-Id] footer in any
+commit uploaded for review. This does not apply to commits pushed
+directly to a branch or tag.
+|`commentlinks`|
+Comment link configuration for the project. Has the same format as the
+link:config-gerrit.html#_a_id_commentlink_a_section_commentlink[commentlink section]
+of `gerrit.config`.
+|======================================
+
GERRIT
------
diff --git a/Documentation/user-upload.txt b/Documentation/user-upload.txt
index 55ab89521a..cbb152c374 100644
--- a/Documentation/user-upload.txt
+++ b/Documentation/user-upload.txt
@@ -333,6 +333,40 @@ grant nothing at all. This ensures that accidental pushes don't
make undesired changes to the public repository.
+[[auto_merge]]
+Auto-Merge during Push
+~~~~~~~~~~~~~~~~~~~~~~
+
+Changes can be directly submitted on push. This is primarily useful
+for teams that don't want to do code review but want to use Gerrit's
+submit strategies to handle contention on busy branches. Using
+`%submit` creates a change and submits it immediately, if the caller
+has link:access-control.html#category_submit[Submit] permission on
+`refs/for/<ref>` (e.g. on `refs/for/refs/heads/master`).
+
+====
+ git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/master%submit
+====
+
+On auto-merge of a change neither labels nor submit rules are checked.
+If the merge fails the change stays open, but when pushing a new patch
+set the merge can be reattempted by using `%submit` again.
+
+
+[[base]]
+Selecting Merge Base
+~~~~~~~~~~~~~~~~~~~~
+
+By default new changes are opened only for new unique commits
+that have never before been seen by the Gerrit server. Clients
+may override that behavior and force new changes to be created
+by setting the merge base SHA-1 using the '%base' argument:
+
+====
+ git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/master%base=$(git rev-parse origin/master)
+====
+
+
repo upload
-----------