Fix --remote option to replication start Declaring --remote as a 'Set<String>' field trips args4j's Setters.create(), which only treats List, Map, and Arrays as multi-value containers. Use a method-based @Option that adds each --remote value into a Set<String> to work around this. Change-Id: Ic4b4242f3c9ac05b822f2b62141ba34270619f70
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/StartCommand.java b/src/main/java/com/googlesource/gerrit/plugins/replication/StartCommand.java index 507774f..2458a26 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/StartCommand.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/StartCommand.java
@@ -42,8 +42,12 @@ @Option(name = "--url", metaVar = "PATTERN", usage = "pattern to match URL on") private String urlMatch; + private final Set<String> remotesToConsider = new HashSet<>(); + @Option(name = "--remote", metaVar = "REMOTE", usage = "name of remote to replicate to") - private Set<String> remotesToConsider = new HashSet<>(); + void addRemote(String remote) { + remotesToConsider.add(remote); + } @Option(name = "--wait", usage = "wait for replication to finish before exiting") private boolean wait;