This adds the following changes:
replication:
- Clean not used SchemaFactory<ReviewDb> parameter
commit-message-length-validator:
- Allow threshold of too long lines to be configured
Change-Id: If4da3e54df1a13635bf8d3244a36e78ec9dc2297
* stable-2.9:
Add support for JCE (Java Cryptography Extension) ciphers
Buck: Respect gerrit-gwtui-common dependency for GWT plugins
More improvements in the change info block UI
Add a section about the submit type to the project owner guide
Fix: Wrong exception mapping in ReceiveCommmits
Fix REST example for removing included groups from a group
rest-api-groups.txt: Correct input examples to use [] for lists
Document project options
Allow service users to access REST API if auth.gitBasicAuth = true
Improve documentation about project creation
Make singleusergroup a core plugin
Rename 'Change Submit Action' in documentation to 'Submit Type'
ProjectInfoScreen: Display submit type and content merge next to each other
Add guide for project owners
Improve description of the auth.gitBasicAuth parameter
Conflicts:
Documentation/config-gerrit.txt
Documentation/rest-api-groups.txt
gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritResources.java
gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectInfoScreen.java
Change-Id: I269f8f1395c352d8d90ba4f770a19296a50967de
This plugin might be useful for a lot of users. Make it a core plugin
so it gets included in the distributed war file and offered to the user
during installation.
Change-Id: Ic69e01018d11b1989b36150584b104a98d48ea99
The intent is to use this method from ChangeJson to dynamically copy
labels every time the change detail is loaded, thus not relying on
one-time copying of labels in the notedb read path.
To do so requires a bit of refactoring, since the ChangeControl now
needs to be passed into this method.
Change-Id: I8bc25d32a91218e074517dcacf4bf3a77d4ae957
- Configure plugin specific list parameters as ProjectConfigEntries
- Changed merged from stable-2.8
Change-Id: Ifbf1222ecbc64a988d7e61bfd891b28c2488eac6
Unchanged, updated, and deleted approvals may need to be handled
separately by the underlying storage layer, e.g. in Submit. Record
this information in the result of LabelNormalizer.normalize().
For callers that don't care whether approvals were updated or not,
provide a convenience method to concatenate them.
Change-Id: Ifea7db3f7333d3ddb5e4d647a1d7e8eeb8cbff11
To get the following changes:
- Rename WrappedLogger to ReplicationStateLogger
- Retry replications failed due to "failed to lock" errors
- Do not retry replications with UnknownHostKey
Change-Id: I726dc5d8ca99bc41cbb08ab3e87469544b0623bb
To get the following fixes and updates:
- Change default push refSpec to 'refs/*:refs/*' (non-forced push)
- Allow default force update to be configurable
- Correct misspelled method name
Change-Id: Ic734a7290a303562e42b11a0b64697a0fcbc1d71
Update the plugins to the latest revisions to get the
following changes:
replication:
- Minor improvements in the config documentation
- Replication settings auto-reload and restart
singleusergroup
- Remove pom.xml
Change-Id: Ie75091d9ced8962a30797a7ad8160454c8a3ab7c
Encapsulate the current state of the migration in a NotesMigration
class. For each database table (or broader group of functionality)
that we migrate to notedb, configure a boolean indicating whether that
data should be read from notes, defaulting to false.
Unlike reads, NotesMigration contains just a single boolean
indicating that data should be written. We don't attempt to write
just some types of data; as the migration continues we will just
rewrite history.
Since most existing reads of the PatchSetApprovals table have been
migrated to ApprovalsUtil, most implementation changes happen there.
There are a few other implementations scattered around, and some that
will require a bit more work (e.g. stamping normalized approvals at
submit time).
Change-Id: I5676267d4de607c385e8c9917a89333863b9c9e7
The commonality of these methods is they will have a different
implementation when approvals are read from an eventual notedb, so
it makes sense to keep them located together.
Change-Id: I5de63a4210f29863274111964480fb1f5720ca60
Running `buck build plugins:core` before initialising the submodules
causes buck to throw FileNotFoundException and then go into an infinite
loop.
The genrule in the plugins' BUCK configuration has a check in the `cmd`
to make sure the required core plugins (`NEED`) exist, but it looks
like this gets evaluated after the `srcs` which is using `CORE`.
Change `srcs` to use `HAVE`. Now buck will exit with an error when the
core plugins do not exist.
Bug: issue 2343
Change-Id: I1bc2f67bcf6aacfe553c00e54fff18f959ac4b79
This class lives in gerrit-reviewdb because "refs/changes/" needs to be
referenced from PatchSet in reviewdb/client (and other UI classes).
Rename constants to all use REFS_* instead of being inconsistent.
Change-Id: I76e6ee7e63a4549b51a43698fb50b54a19dabfc6
To get fixes merged from stable-2.8:
* Always show repo download command if repo download scheme is enabled
Change-Id: I8de4c0c19073fb7b5ea2d9e8e34e0a7e1944ace4
If a screen is registered by a plugin this registration needs to be
completed before the dispatcher tries to parse the token. Wait for
plugin scripts to finish loading and evaluating. The old method of
injecting a script tag was not waiting correctly, especially for GWT
based plugins.
JavaScript plugins are now required to use Gerrit.install() as this
method updates internal Gerrit state tracking the script. Not using
install() will eventually cause the UI to report the plugin as failing
to load.
GWT plugins must override onPluginLoad() not onModuleLoad(). All
plugins must recompile with the new glue code, as there is now a
handshake between the GWT plugin and the main Gerrit code.
All plugins must load within 5 seconds, otherwise the page marks them
as failed and reports loading errors. During loading a glass pane is
used to prevent the user from interacting with a partial initialized
UI. Plugins may be making critical contributions that need to be
registered before use.
A chunk of the API glue code was moved around to make each JSNI block
smaller, and better isolate purpose. Plugin is now declared in its
own Java class.
Plugin instances are now tracked in the map $wnd.Gerrit.plugins.
This allows the main code to later figure out if any instance failed
to load. Any loading errors are usually reported on the JavaScript
console as script failures, and may include stack traces.
Change-Id: Id03581437ae1010cf995ef7ba8626ece37dfc2f4
Gerrit and core plugins are now built with buck. The Gerrit
build no longer supports Maven; all the pom.xml files have
already been removed.
Remove Maven build support, i.e. the pom.xml files, from all
core plugins except the cookbook plugin which should keep it as
long as we still actually support Maven-based plugins.
Change-Id: Id299ade79ae1f94976c9b18634aa4b458bf1eeff
* Fix replication at start-up
* Support replication of HEAD updates
* Splitting replication queue from config.
* Extra info log on replication 'git push' to remote
Change-Id: I57e41ef1b8b0c63e60ee202172c944a0d3f6a409
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
Like the cookbook plugin, keep the singleusergroup plugin in the
primary build to make it easier to detect API version changes,
but do not (yet) include it as a core plugin in release binaries.
Change-Id: I24d2d3c7eb461d573d1666a1af631a3caeee2eac
It is too easy to forget to override isAuthSupported in download
schemes that support but do not require authentication. Make it
abstract so anyone adding a new download scheme has to make an
explicit choice about whether it should show up on changes that are
not world-readable.
Change-Id: Ifbc70c0d3b6eea08ceee726317381cabd3892e03
* Add example of getting canonical web URL injected
Change-Id: I59a964adc91ae3bbc0a64b91499bc6e7977c7241
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
* stable-2.8:
Update replication plugin to latest revision
Allow download schemes to support but not require authentication
Don't mention label abbreviation in search documentation
Don't mention Verified as a default label in search documentation
Minor fixes in dev-plugin documentation
Document how a plugin can force state update of UiAction
Change-Id: I9ba217e20291271bdb1ec6d579efe37f9efc91ba
This updates the replication plugin to the latest revision
on the stable-2.8 branch, and adds the following change:
- Fix invalid syntax in SSH config file example
Change-Id: I79ac7cc93f14d9ca0dc6937f8e8cec6301301da2
This updates the core plugins to the latest revisions on their
master branch, adding the following changes:
All plugins:
- Update API version to 2.9-SNAPSHOT in pom.xml
Cookbook:
- Add example of getting plugin name injected
Replication:
- Delete the ReplicationType enum and simplify ReplicationState
Change-Id: If3af328a3e9be33e9182db75459b834ad44db83c
This updates the plugins to versions that are adapted to the
simplified GitReferenceUpdatedListener.Event API.
Change-Id: I0d01639c4738945aafd3920acdfbe26cf23c176b
* Add port to replication status and display path for local
replication
Change-Id: I483b95255b4b7e15581836fba8bc3b4d69206b47
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
This adds the following commits:
- Fix note creation when the same commit exists in another Git repository.
- Fix committing the notes from the export command.
Change-Id: I7d679235da70ae0939e83ed11c0b2e8a753d8997