Add option 'S' to projects REST API to support query offset

List projects endpoint has an option to limit the number of results
returned but it was missing an option to start at a nonzero offset in
order to support results paging.

Add and document 'S' option which allow to query project list starting
at a nonzero offset. Also add missing documentation for the 'n' option
which limits the number of results.

Those 2 options will be then used to render project list with pagination
in web UI.

Change-Id: I19c4cd1cfa6ed78f22c84f249af54a5c30387561
Emit ref-updated event when editing project access via web UI

Bug: Issue 2564
Change-Id: I9426f6969a234b081f72197ed0cb061512bc6e09
Disable commitWithin when running Reindex

Disable the 'commitWithin' from within Reindex by overriding
the configuration with '-1'. Treat negative values as the
original behavior, auto-flushing but not auto-committing, which
is the least safe but the most efficient for reindexing the
entire site. 

Change-Id: Ifdba797bee871d2a3d8928810a6304bacb850c8c
Make cells for up/down navigation for 'My' menu items accept clicks

The icons are very tiny and hard to hit. Allow users to click on the
cell to move menu items up and down.

Change-Id: I27a9dd8bc1334237b76a9458294e28c37f43e73f
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
Restore gerrit-provided DynamicItem when plugin unloads

Change-Id: I21db4f146916dd129e306fdc3416b9acae2e453b
Allow plugins to replace gerrit-provided hot-replaceable DynamicItem, too

While at it, clean up the code path for non hot-replaceable
DynamicItem (in particular adding a defensive check for null even
though it should never be triggered since a DynamicItem from gerrit
core cannot be unloaded).

Change-Id: I5f4074a3752e8d84fc349b502408bdd520927d5e
Filter out types used in DynamicItem when copying bindings to plugins

This avoids Guice creation errors when a plugin tries to bind its
own implementation of a type that gerrit core already implemented.

Change-Id: I2f989c944f5d22a21a19f6d122e5d80e7aca8e2e
Do not check for annotation during DynamicItem registration

Since e3d23d64eb9c05305e1aa7959632da1ae2f4b98d ("Don't bind
non-annotated types into DynamicSet, DynamicMap", 2012-05-17), gerrit
has filtered out unannotated types that could belong to a DynamicSet
or DynamicMap to make it possible to write e.g. a
UniversalGroupBackend that makes use of the GroupBackends in its
DynamicSet.

DynamicItem inherited the same filter, but it isn't needed there.
Moreover, DynamicItem registration does not add a UniqueAnnotation
(since we do not want to allow multiple registrations).  Drop the
check in the DynamicItem case so implementations from plugins can
actually be loaded.

Tested using the websession-flatfile plugin.

Change-Id: Iff814bd18cad3bd5c840294591b6bffa2cd91206
Make gerrit's HttpServletRequest and HttpServletResponse visible to http plugins

Introduce a @RootRelative annotation for plugins to use to request the
HttpServletRequest and HttpServletResponse from gerrit.

The annotation distinguishes these request and response objects from
those injected by guice's ServletModule when http plugins are handling
a request.

This is needed to eventually allow plugins to replace gerrit's
WebSession implementation.

Change-Id: Idc8c248540deadb10644aca9a1ad92d28e07aad3
By default don't allow admins to create new branches by push

When pushing changes it is easy to make a typo in the refspec and
in this case new branches should not be created. If administrators
want to create branches by push they should explicitly assign
themselves the needed access rights.

This was broken by [1].

[1] https://gerrit-review.googlesource.com/#/c/54048/

Change-Id: I768bfd6d7cb193b0ec9f51c3fa768087ceb91acd
Bug: Issue 2557
Add SecureStore implementation

Right now it is not used, only just hook into build system

Change-Id: Ibbb15ad2aad3e77aa64f738bc3bc0a1177e61a26
Signed-off-by: Dariusz Luksza <dariusz@luksza.org
Add default SecureStore implementation

Provides default SecureStore implementation that behave same as current
internal Gerrit implementation

Change-Id: Iafcc01a4a0d57b5e54e61dc8b9d270bb213fa44f
Signed-off-by: Dariusz Luksza <dariusz@luksza.org>
Merge topic 'plugin-api'

* changes:
  Switch create project SSH command to use Project API
  Plugin API: Add get project API
  Plugin API: Add create project API
Merge "Update the mysql documentation concerning charsets"
Update the mysql documentation concerning charsets

This commit changes the mysql setup documentation because
there is no need to use latin1 encoding if you are using
another engine than the MyISAM engine.

Bug: Issue 1273
Change-Id: I432957381385c3e0390bb0db245139954300ecb8
(cherry picked from commit 13d07ecc7cd98cfd928a2b06d8755aea1fddde61)
Bump GERRIT_VERSION to 2.8.4

Change-Id: I3d1300a0d87e9ca59d971cc20f162d9f9eb8237f
Merge changes I2f989c94,I5f4074a3,I21db4f14

* changes:
  Filter out types used in DynamicItem when copying bindings to plugins
  Allow plugins to replace gerrit-provided hot-replaceable DynamicItem, too
  Restore gerrit-provided DynamicItem when plugin unloads
Merge "Fix style of 'My' menu items preference table"
Merge "Make cells for up/down navigation for 'My' menu items accept clicks"
Include only current votes into change message when removing a reviewer

Change-Id: I541d7f7b130a40811f398910169e493acc212537
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>