Reindex: Add --list option to list available indices Change-Id: I3d46d39d9cc9751489cb348e22c63c60c2f1dbd1 Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/Documentation/pgm-reindex.txt b/Documentation/pgm-reindex.txt index a583d16..b58527e 100644 --- a/Documentation/pgm-reindex.txt +++ b/Documentation/pgm-reindex.txt
@@ -24,6 +24,9 @@ --dry-run:: Dry run. Don't write anything to index. +--list:: + List available index names. + == CONTEXT The secondary index must be enabled. See link:config-gerrit.html#index.type[index.type].
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Reindex.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Reindex.java index ceda604..657511d 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Reindex.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Reindex.java
@@ -60,6 +60,9 @@ @Option(name = "--verbose", usage = "Output debug information for each change") private boolean verbose; + @Option(name = "--list", usage = "List supported indices and exit") + private boolean list; + private Injector dbInjector; private Injector sysInjector; private Config globalConfig; @@ -88,10 +91,7 @@ sysInjector.injectMembers(this); try { - boolean ok = true; - for (IndexDefinition<?, ?, ?> def : indexDefs) { - ok &= reindex(def); - } + boolean ok = list ? list() : reindex(); return ok ? 0 : 1; } catch (Exception e) { throw die(e.getMessage(), e); @@ -101,6 +101,21 @@ } } + private boolean list() { + for (IndexDefinition<?, ?, ?> def : indexDefs) { + System.out.format("%s\n", def.getName()); + } + return true; + } + + private boolean reindex() throws IOException { + boolean ok = true; + for (IndexDefinition<?, ?, ?> def : indexDefs) { + ok &= reindex(def); + } + return ok; + } + private void checkNotSlaveMode() throws Die { if (globalConfig.getBoolean("container", "slave", false)) { throw die("Cannot run reindex in slave mode");