in src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfigParser.java [38:70]
public List<RemoteConfiguration> parseRemotes(Config config) throws ConfigInvalidException {
if (config.getSections().isEmpty()) {
logger.atWarning().log("Replication config does not exist or it's empty; not replicating");
return Collections.emptyList();
}
ImmutableList.Builder<RemoteConfiguration> sourceConfigs = ImmutableList.builder();
for (RemoteConfig c : allFetchRemotes(config)) {
if (c.getURIs().isEmpty()) {
continue;
}
// fetch source has to be specified.
if (c.getFetchRefSpecs().isEmpty()) {
throw new ConfigInvalidException(
String.format("You must specify a valid refSpec for this remote"));
}
SourceConfiguration sourceConfig = new SourceConfiguration(c, config);
if (!sourceConfig.isSingleProjectMatch()) {
for (URIish u : c.getURIs()) {
if (u.getPath() == null || !u.getPath().contains("${name}")) {
throw new ConfigInvalidException(
String.format("remote.%s.url \"%s\" lacks ${name} placeholder", c.getName(), u));
}
}
}
sourceConfigs.add(sourceConfig);
}
return sourceConfigs.build();
}