Support to get a revision as formatted git patch via REST

Bug: issue 302
Change-Id: Iccdb5990683ad911259a79e977ec4c057078e4e1
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
Show change status in separate column for dashboards, and searches

Dashboards, and search results can get crowded at times and by having
the change status appended to the change subject, it was hard to
immediately find the change status. We now added a separate column in
which we show the change status. Thereby, changes that do not have
'Review in Progress' status can be identified much easier.

Change-Id: I227d1e9d05c26c040c690ac6defcbe191e548c85
Support creation of accounts via REST

PUT on '/accounts/<username>' creates a new account.
The code from the 'create-account' SSH command was moved to the REST
layer.

Change-Id: Ic8fd9daf9fb64f7918b7f7eb461f8e8e957099a9
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
Fix issues with Prolog files in Eclipse

Because the Eclipse runtime doesn't have the generated sources,
it doesn't know about the generated classes. To fix this problem,
adding the generated sources as a project folder in Eclipse gives
it the visibility of the classes, including when they are rebuilt,
and so running/debugging in the Prolog runtime should not have
negative affects from an Eclipse perspective.

Since the Prolog runtime uses a separate ClassLoader for hosting
the classes, and it's not clear where those classes are subsequently
used, there may be bugs in which Prolog classes are leaked. This
change does not affect the existence of those failure modes.

Change-Id: Id8f89f28ee9660e39717b15f5c2910d6a5930e30
Improve submodule subscription documentation

Current documentation does not cover some limitations in the
implementation. This might cause a Gerrit user to spend valuable time
trying to troubleshoot why a submodule subscription is not working as
expected. Examples of this are:

 * Not possible to use the feature with SSH hostname different from
   canonical web URL hostname
 * Relative submodules must contain the full Gerrit project name

Change-Id: I5acf608b366f3f64047730c2b691b1e6bf62a2ea
Re-add comment why connection pooling is turned off for MySQL

The added comment was added in
fb5548efcb05473eb5788d786e08fb25c21f8aa2 but got lost during a
refactoring.

Change-Id: Iaaad17f7b9ff76555e7a2b5d4c02134d12a32013
prettify: Move client-only classes to client package

This cleans up a weird dependency in the build tree for any Buck based
build.  Most of these classes are meant only to be compiled for GWT and
do not build at the server side. Maven allowed sloppy use of gwt-user,
making it difficult to identify this earlier.

Change-Id: Id86e74f2f0760c9853829483899379353e5ada13
Remove Guava from GWT build

This is the only reference to Guava code in the GWT UI build.
Convert back to normal Java usage so Guava is not required as
a dependency for the UI build.

Change-Id: I7689cb1ee97ca855f29d76f25d9e5f8a34a8bd88
Remove launcher dependency from httpd

Allow httpd to build without the launcher by writing the generated
gitweb config to $site_path/tmp.  This location was added when plugins
came about and therefore was not available when gitweb support started
writing a generated configuration file.

Change-Id: Id9bbb615c233f3426395972e5c049587a9956fbd
Support testing commit-msg hook from JAR

Some build systems may choose to pass off a JAR containing
all resources under test rather than a directory of tests
(e.g. Buck). Support testing under those environments by
copying the script to a temporary file and removing said
file after the test is done.

Change-Id: Idf1f07546b0a5b523b314f1085b7e0123e0cb502
Remove Parameterized runner from JUnit tests

Not every JUnit runner supports org.junit.runners.Parameterized,
Buck's native java_test() rule doesn't support it and some IDEs
have had trouble with it in the past.

Use specific test methods that delegate to the implementation.

Change-Id: I4df9c4beabd62e6a034216ede80d29913e112562
OnEditEnabler can disable the widget

OnEditEnabler now can disable the widget if the value is changed
back to the original state.

Change-Id: Ic3fc7614c714a94738f3883d7a9a3cf5565ed7eb
Fix reviewer email notifications for new patch sets

Since a7c4a3a6de7353e24d7ed112f92893f3144a85af, no emails were sent to
reviewers when a new patch set has been uploaded to a change.

This regression was due to a change when copying labels. While before
the above commit all approvals of a change were returned, only the
approvals of the previous patch set got returned after the above
commit.

Reverting to the previous behaviour would unnecessarily fetch more
rows than needed as most callers do not pick up the returned set.

When uploading a new patch set, we now again fetch all approvals for
the change and can thereby again notify all reviewers. For copying
labels to the new patch set, we reuse this fetched set of approvals
and thereby avoid a further database query.

Change-Id: Iba1e8585054cdef3e422bd951b0c61aa824b84fc
Handle 'Event.ONPASTE' in CreateGroupScreen

Support pasting with right mouse click and "paste" group name from the context menu
into the input field and enable the "Create Group" button.

For 'Event.ONPASTE' Gwt(2.5.0) Note: "This event is not supported on Firefox 2 and
earlier, or Opera 10 and earlier. Be aware that it will not fire on these browser
versions."

Bug: Issue 1843
Change-Id: I5a866fd84def719b70d0f55c89188efdce4cf2ff
Merge "Fix reviewer email notifications for new patch sets"
Merge "Re-add comment why connection pooling is turned off for MySQL" into stable-2.6
Merge "Fix issues with Prolog files in Eclipse" into stable-2.6
Merge branch 'stable-2.6'

* stable-2.6:
  Handle 'Event.ONPASTE' in CreateGroupScreen
  OnEditEnabler can disable the widget
  Re-add comment why connection pooling is turned off for MySQL
  Fix issues with Prolog files in Eclipse
Add documentation for database.connectionPool setting

Change-Id: Ib74b555e40e37e2bf739b133c0cebdd934c67fbe
Log when notify = null during /review

The notify field should be omitted from JSON or set to one of the
supported constants. Log a warning whenever the value is null.
This message may help to identify a potential problem in the Gson
library when parsing input for /review.

Change-Id: I3678c596e9c4884dadf60781fff5352ce8690726