Users may already desire to create only v2 pack index files, as the extra CRC code makes repacking faster due to quicker delta reuse code paths being available. However we still must default to version 0 to select oldest version available to improve our changes of being compatible with really old Git executables. Signed-off-by: Shawn O. Pearce <spearce@xxxxxxxxxxx> --- .../src/org/spearce/jgit/lib/CoreConfig.java | 11 +++++++++++ .../src/org/spearce/jgit/transport/IndexPack.java | 4 +++- 2 files changed, 14 insertions(+), 1 deletions(-) diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/CoreConfig.java b/org.spearce.jgit/src/org/spearce/jgit/lib/CoreConfig.java index 01d4210..2dd8aea 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/CoreConfig.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/CoreConfig.java @@ -48,8 +48,11 @@ public class CoreConfig { private final int compression; + private final int packIndexVersion; + CoreConfig(final RepositoryConfig rc) { compression = rc.getInt("core", "compression", DEFAULT_COMPRESSION); + packIndexVersion = rc.getInt("pack", "indexversion", 0); } /** @@ -59,4 +62,12 @@ public class CoreConfig { public int getCompression() { return compression; } + + /** + * @return the preferred pack index file format; 0 for oldest possible. + * @see org.spearce.jgit.transport.IndexPack + */ + public int getPackIndexVersion() { + return packIndexVersion; + } } diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/IndexPack.java b/org.spearce.jgit/src/org/spearce/jgit/transport/IndexPack.java index 06ef7cc..8083cc8 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/transport/IndexPack.java +++ b/org.spearce.jgit/src/org/spearce/jgit/transport/IndexPack.java @@ -102,7 +102,9 @@ public class IndexPack { final File base; base = new File(objdir, n.substring(0, n.length() - suffix.length())); - return new IndexPack(db, is, base); + final IndexPack ip = new IndexPack(db, is, base); + ip.setIndexVersion(db.getConfig().getCore().getPackIndexVersion()); + return ip; } private final Repository repo; -- 1.5.6.74.g8a5e -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html