Update git submodules
* Update plugins/replication from branch 'stable-3.0'
to 70f014eae42b08cabcacb7d2224913ded5fab81d
- GerritRestApi: Use UTF_8 from StandardCharsets instead of Guava
Change-Id: I777373899e7abc64bf81d5ee5c4c711100a433dc
- Merge branch 'stable-2.16' into stable-3.0
* stable-2.16:
Fix NPE in PushResultProcessing
Fix start --wait to track in-flight collisions and to not fail
Improve URLmatching to match real Urls
Convert PushResultProcessing to an interface
Change-Id: I35f258fd3200054d2c114fea4ddea79fcbc9ddd4
- Fix NPE in PushResultProcessing
The PushOne code passes a null to the notifier on cleanup when it
encounters unknown states and this null gets passed all the way to
PushResultProcessing which previously would NPE on it. Handle the null
by outputting an "unknown" instead of crashing.
Change-Id: I107d964a33349aaa5d6ae9aca68aab2889689155
- Fix start --wait to track in-flight collisions and to not fail
Previously when an in-flight collision occurred on a push that the
'start --wait' command was waiting for, the command would terminate
with an error (and if it weren't for an NPE it would stop waiting
prematurely). This was happening because PushOne is not tracking
collisions resulting in its cleanup code assuming there was a failure.
Fix this by tracking the collision in PushOne and skipping the cleanup
in this case.
Ironically, the NPE in change I107d964a33349aaa5d6ae9aca68aab2889689155
was preventing the start command from receiving the premature
termination on the collision, but it was not preventing the error. Thus
this fix should get merged before fixing the NPE to avoid a worse
scenario.
Change-Id: Ibf1ca624739205f6f92e097213828faf29de9300
Bug: Issue 12719
- Improve URLmatching to match real Urls
Previously the UrlMatch string needed to match the templated value in
the replication.config file, now it can additionally match a real URL
with the project name already in it.
Change-Id: Ib766f162a9f9106b7763ed26347b4639a9041d6d
- Convert PushResultProcessing to an interface
Instead of being an abstract class with methods that must be explicitly
overridden (even if they are no-op), convert it to an interface with
default empty methods. Also introduce a NO_OP instance. This allows to
have implementations that do nothing without having to explicitly add
all the boilerplate overrides.
Change-Id: I8a3cf6fc66f9a3857e5fa4949ca99c2c473702d6
diff --git a/plugins/replication b/plugins/replication
index 8060f5f..70f014e 160000
--- a/plugins/replication
+++ b/plugins/replication
@@ -1 +1 @@
-Subproject commit 8060f5f77fa8d48c9ef357501fbbdad56b7217c6
+Subproject commit 70f014eae42b08cabcacb7d2224913ded5fab81d