Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn Pearce2016-01-15 20:58:11 +0000
committerShawn Pearce2016-01-15 20:58:11 +0000
commite1529ced42a0378fdfdf595ec7396247f705e395 (patch)
tree0b2dc95c9e809b2bd9d74c86736728960f73e58f
parentbbfca06d64616c13eb0281816149c8cc6d872023 (diff)
downloadjgit-e1529ced42a0378fdfdf595ec7396247f705e395.tar.gz
jgit-e1529ced42a0378fdfdf595ec7396247f705e395.tar.xz
jgit-e1529ced42a0378fdfdf595ec7396247f705e395.zip
debug-rebuild-ref-tree: Add --enable flag to turn the database on
-rw-r--r--org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/RebuildRefTree.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/RebuildRefTree.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/RebuildRefTree.java
index 78ca1a7128..3c7ae9bf9f 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/RebuildRefTree.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/RebuildRefTree.java
@@ -57,12 +57,17 @@ import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.lib.RefDatabase;
import org.eclipse.jgit.lib.RefUpdate;
+import org.eclipse.jgit.lib.StoredConfig;
import org.eclipse.jgit.pgm.Command;
import org.eclipse.jgit.pgm.TextBuiltin;
import org.eclipse.jgit.revwalk.RevWalk;
+import org.kohsuke.args4j.Option;
@Command(usage = "usage_RebuildRefTree")
class RebuildRefTree extends TextBuiltin {
+ @Option(name = "--enable", usage = "set extensions.refsStorage = reftree")
+ boolean enable;
+
private String txnNamespace;
private String txnCommitted;
@@ -122,6 +127,15 @@ class RebuildRefTree extends TextBuiltin {
default:
throw die(String.format("%s: %s", update.getName(), result)); //$NON-NLS-1$
}
+
+ if (enable && !(db.getRefDatabase() instanceof RefTreeDatabase)) {
+ StoredConfig cfg = db.getConfig();
+ cfg.setInt("core", null, "repositoryformatversion", 1); //$NON-NLS-1$ //$NON-NLS-2$
+ cfg.setString("extensions", null, "refsStorage", "reftree"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ cfg.save();
+ errw.println("Enabled reftree."); //$NON-NLS-1$
+ errw.flush();
+ }
}
}

Back to the top