From: Shawn O. Pearce Date: Tue, 17 Mar 2009 01:16:10 GMT Subject: [JGIT PATCH 4/4] Teach WindowCacheConfig to read core.packedgit* settings from config Message-ID: <1237252570-8596-5-git-send-email-spearce@spearce.org> In-Reply-To: <1237252570-8596-4-git-send-email-spearce@spearce.org> This may help applications which want to read configuration from the current repository, or from ~/.gitconfig when picking the access strategy for the current process. Signed-off-by: Shawn O. Pearce --- .../org/spearce/jgit/lib/WindowCacheConfig.java | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/WindowCacheConfig.java b/org.spearce.jgit/src/org/spearce/jgit/lib/WindowCacheConfig.java index d906a7c..ea28164 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/WindowCacheConfig.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/WindowCacheConfig.java @@ -151,4 +151,20 @@ public int getDeltaBaseCacheLimit() { public void setDeltaBaseCacheLimit(final int newLimit) { deltaBaseCacheLimit = newLimit; } + + /** + * Update properties by setting fields from the configuration. + *

+ * If a property is not defined in the configuration, then it is left + * unmodified. + * + * @param rc configuration to read properties from. + */ + public void fromConfig(final RepositoryConfig rc) { + setPackedGitOpenFiles(rc.getInt("core", null, "packedgitopenfiles", getPackedGitOpenFiles())); + setPackedGitLimit(rc.getInt("core", null, "packedgitlimit", getPackedGitLimit())); + setPackedGitWindowSize(rc.getInt("core", null, "packedgitwindowsize", getPackedGitWindowSize())); + setPackedGitMMAP(rc.getBoolean("core", null, "packedgitmmap", isPackedGitMMAP())); + setDeltaBaseCacheLimit(rc.getInt("core", null, "deltabasecachelimit", getDeltaBaseCacheLimit())); + } } -- 1.6.2.1.286.g8173