in src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ProjectVersionRefUpdate.java [257:281]
private Optional<RefUpdate> updateLocalProjectVersion(
Project.NameKey projectNameKey, long newVersionNumber)
throws LocalProjectVersionUpdateException {
logger.atFine().log(
"Updating local version for project %s with version %d",
projectNameKey.get(), newVersionNumber);
try (Repository repository = gitRepositoryManager.openRepository(projectNameKey)) {
RefUpdate refUpdate = getProjectVersionRefUpdate(repository, newVersionNumber);
RefUpdate.Result result = refUpdate.update();
if (!isSuccessful(result)) {
String message =
String.format(
"RefUpdate failed with result %s for: project=%s, version=%d",
result.name(), projectNameKey.get(), newVersionNumber);
logger.atSevere().log(message);
throw new LocalProjectVersionUpdateException(message);
}
return Optional.of(refUpdate);
} catch (IOException e) {
String message = "Cannot create versioning command for " + projectNameKey.get();
logger.atSevere().withCause(e).log(message);
throw new LocalProjectVersionUpdateException(message);
}
}