diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_130.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_130.java index cee21bdba9..5dcd981dd0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_130.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_130.java @@ -29,6 +29,9 @@ import org.eclipse.jgit.lib.PersonIdent; import org.eclipse.jgit.lib.Repository; import java.io.IOException; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.stream.Collectors; public class Schema_130 extends SchemaVersion { private static final String COMMIT_MSG = @@ -51,16 +54,27 @@ public class Schema_130 extends SchemaVersion { @Override protected void migrateData(ReviewDb db, UpdateUI ui) throws OrmException { - for (Project.NameKey projectName : repoManager.list()) { + SortedSet repoList = repoManager.list(); + SortedSet repoUpgraded = new TreeSet<>(); + ui.message("\tMigrating " + repoList.size() + " repositories ..."); + for (Project.NameKey projectName : repoList) { try (Repository git = repoManager.openRepository(projectName); MetaDataUpdate md = new MetaDataUpdate(GitReferenceUpdated.DISABLED, projectName, git)) { ProjectConfigSchemaUpdate cfg = ProjectConfigSchemaUpdate.read(md); cfg.removeForceFromPermission("pushTag"); + if (cfg.isUpdated()) { + repoUpgraded.add(projectName); + } cfg.save(serverUser, COMMIT_MSG); } catch (ConfigInvalidException | IOException ex) { throw new OrmException("Cannot migrate project " + projectName, ex); } } + ui.message("\tMigration completed: " + repoUpgraded.size() + + " repositories updated:"); + ui.message("\t" + + repoUpgraded.stream().map(n -> n.get()) + .collect(Collectors.joining(" "))); } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_131.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_131.java index a2ba03cdfe..4e581c8abc 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_131.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_131.java @@ -30,6 +30,9 @@ import org.eclipse.jgit.lib.PersonIdent; import org.eclipse.jgit.lib.Repository; import java.io.IOException; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.stream.Collectors; public class Schema_131 extends SchemaVersion { private static final String COMMIT_MSG = @@ -49,7 +52,10 @@ public class Schema_131 extends SchemaVersion { @Override protected void migrateData(ReviewDb db, UpdateUI ui) throws OrmException { - for (Project.NameKey projectName : repoManager.list()) { + SortedSet repoList = repoManager.list(); + SortedSet repoUpgraded = new TreeSet<>(); + ui.message("\tMigrating " + repoList.size() + " repositories ..."); + for (Project.NameKey projectName : repoList) { try (Repository git = repoManager.openRepository(projectName); MetaDataUpdate md = new MetaDataUpdate(GitReferenceUpdated.DISABLED, projectName, git)) { @@ -59,10 +65,16 @@ public class Schema_131 extends SchemaVersion { md.getCommitBuilder().setCommitter(serverUser); md.setMessage(COMMIT_MSG); config.commit(md); + repoUpgraded.add(projectName); } } catch (ConfigInvalidException | IOException ex) { throw new OrmException("Cannot migrate project " + projectName, ex); } } + ui.message("\tMigration completed: " + repoUpgraded.size() + + " repositories updated:"); + ui.message("\t" + + repoUpgraded.stream().map(n -> n.get()) + .collect(Collectors.joining(" "))); } }