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
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
Serialize GWT dbg and opt compiles

The GWT compiler swamps a system when it builds, using multiple
threads to build each permutation in parallel. It also requires
a lot of RAM. Buck is not aware of the cost of the genrule and
currently schedules both to build at the same time.

Make ui_opt depend on ui_dbg so Buck is forced to serialize these
build steps, reducing the load on average systems while possibly
extending build time on very powerful (e.g.  16 core) systems.

Change-Id: Icc1856c9c4e7919c28dc533e792fa25aadcdf801
Helper script to update API version in plugin archetype pom files

Running the script in the root of the Gerrit folder:

  ./tools/version NEW_VERSION

will replace the value in the first occurrence of the <version> tag
in the plugin archetype pom files with the value specified by
NEW_VERSION.

Change-Id: I9f529852af22a1eef7f30e2fcaea8acea28057d9
Bump version to 2.8.4 in plugin API and archetypes

Change-Id: Icb5153289195b6ea8539f21ef89e0a33c34b37de
Make skip bar more user friendly

It is odd to put block expansion link only on number of skipped lines.
This change puts link on whole sentence "... skipped XX common lines
...".

Change-Id: I5c48a26fa7fa8758e35386994b80ef741e3ffa50
Signed-off-by: Dariusz Luksza <dariusz@luksza.org>
Use consistent grammatical tense in command descriptions

Change-Id: Iee7f99ec9f133b1e7cfb73a29e90cc2f28ac75ca
Merge "Make skip bar more user friendly" into stable-2.8
Fix memory leak of SubIndex.NrtFuture objects

The SubIndex.NrtFuture objects are added as listeners of
searchManager who was found to hold on to them forever.

Fixed. There are also some code refactoring in NrtFuture.

Change-Id: If87cb62890a1cfa6c6336f6c7953a1cb56d42937
Fix: The email notification of review comments gets stuck.

Sometimes it is found that one thread goes stuck when waiting
for an answer from the SMTP server.

Fixed. Enable user to

 -config the timeout value of opening a socket connected to a remote
  SMTP server.

 -config the worker-thread pool size of executor used for sending out
  review comments notification when it is not enough to dedicate only
  one thread.

 -config the default size of the background execution thread pool when
  one thread is not enough to handle miscellaneous tasks including
  sending out every kind email notification.

Change-Id: Id8177b374f7049cfac617c50e66b2c83ae71641b
Fix ChangeListener auto-registered implementations

Add missing @ExtensionPoint in ChangeListener so implementors can use
@Listen to register.

Change-Id: Ia7fd16a7afdffbfc278880317fd10297f8b9e19d
(cherry picked from commit eff0592a70ce7fb3dee91abd5262dd462339591e)
Emit ref-updated event when editing project access via web UI

3daa739e13 took care of firing the ref-updated event for updates via the
web UI access pane, but not changes via the web UI general pane, which
uses the REST 'PUT /projects/:project-name/config' endpoint. This commit
takes care of that case, as well as the REST
'PUT /projects/:project-name/description' endpoint.

Note: there's still no ref-updated event for the case of changing a
project from "hidden" state back to read-only or "active" as hooks are
suppressed for hidden projects deeper in the code.

Bug: Issue 2571
Change-Id: I0a260011c0968193ccb5900a18935e654d25f042
Merge "Fix memory leak of SubIndex.NrtFuture objects" into stable-2.8
Correct Javadoc of RestReadView in extension API

The resource parameter specifies the resource to be read,
not the resource to be modified.

Change-Id: I4010674a348cefad02c234118ff25cf332dd76b4
Update cookbook plugin to latest revision

- Fix plugin name in REST API documentation synopsis lines

Change-Id: I3bcf6da0e4ec3fb76aab3a93e08da427df39c09b
Fix inconsistent behavior of diff view when viewing binary files

In the new change screen, if the user clicks on a binary file in
the file list, the unified view is used.  Then when navigating to
a previous or next file that is not binary, the diff view stays in
the old unified setting.  It is only possible to get back to the
new side-by-side view by going back to the change screen and then
opening the non-binary file from there.

To keep consistent behavior of diff view, always use unified diff
for binary files.  Use the user's preference setting for non-binary
files.

Change-Id: Ie4ece4cb740df8a69cbf3d2d42e4b0fb05461520
Do not refresh project list if filter did not change

Every time key up event is raised in the project list filter text box,
the project list was getting refreshed even if the filter did not
change (e.g. moving the cursor was refreshing the list).

Only call the refresh if the filter changed or if enter key is pressed.

Change-Id: I2e608d89e16dbef0cfe1e503ac2feb4639c27f5d