Browse Source

Add config constants for WindowCache configuration options

Change-Id: Icc5265f87ae58aa1e667ed1827075c4a30f75c32
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-5.1
Matthias Sohn 5 years ago
parent
commit
2b9dd32a82
  1. 38
      org.eclipse.jgit/.settings/.api_filters
  2. 24
      org.eclipse.jgit/src/org/eclipse/jgit/lib/ConfigConstants.java
  3. 32
      org.eclipse.jgit/src/org/eclipse/jgit/storage/file/WindowCacheConfig.java

38
org.eclipse.jgit/.settings/.api_filters

@ -49,6 +49,30 @@
<message_argument value="CONFIG_JMX_SECTION"/>
</message_arguments>
</filter>
<filter id="1142947843">
<message_arguments>
<message_argument value="5.1.13"/>
<message_argument value="CONFIG_KEY_PACKED_GIT_LIMIT"/>
</message_arguments>
</filter>
<filter id="1142947843">
<message_arguments>
<message_argument value="5.1.13"/>
<message_argument value="CONFIG_KEY_PACKED_GIT_MMAP"/>
</message_arguments>
</filter>
<filter id="1142947843">
<message_arguments>
<message_argument value="5.1.13"/>
<message_argument value="CONFIG_KEY_PACKED_GIT_OPENFILES"/>
</message_arguments>
</filter>
<filter id="1142947843">
<message_arguments>
<message_argument value="5.1.13"/>
<message_argument value="CONFIG_KEY_PACKED_GIT_WINDOWSIZE"/>
</message_arguments>
</filter>
<filter id="1142947843">
<message_arguments>
<message_argument value="5.1.9"/>
@ -84,6 +108,20 @@
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/jgit/storage/file/WindowCacheConfig.java" type="org.eclipse.jgit.storage.file.WindowCacheConfig">
<filter id="1142947843">
<message_arguments>
<message_argument value="5.1.13"/>
<message_argument value="isPackedGitUseStrongRefs()"/>
</message_arguments>
</filter>
<filter id="1142947843">
<message_arguments>
<message_argument value="5.1.13"/>
<message_argument value="setPackedGitUseStrongRefs(boolean)"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/jgit/storage/file/WindowCacheStats.java" type="org.eclipse.jgit.storage.file.WindowCacheStats">
<filter id="337809484">
<message_arguments>

24
org.eclipse.jgit/src/org/eclipse/jgit/lib/ConfigConstants.java

@ -200,6 +200,30 @@ public final class ConfigConstants {
/** The "streamFileThreshold" key */
public static final String CONFIG_KEY_STREAM_FILE_TRESHOLD = "streamFileThreshold";
/**
* The "packedGitMmap" key
* @since 5.1.13
*/
public static final String CONFIG_KEY_PACKED_GIT_MMAP = "packedgitmmap";
/**
* The "packedGitWindowSize" key
* @since 5.1.13
*/
public static final String CONFIG_KEY_PACKED_GIT_WINDOWSIZE = "packedgitwindowsize";
/**
* The "packedGitLimit" key
* @since 5.1.13
*/
public static final String CONFIG_KEY_PACKED_GIT_LIMIT = "packedgitlimit";
/**
* The "packedGitOpenFiles" key
* @since 5.1.13
*/
public static final String CONFIG_KEY_PACKED_GIT_OPENFILES = "packedgitopenfiles";
/** The "remote" key */
public static final String CONFIG_KEY_REMOTE = "remote";

32
org.eclipse.jgit/src/org/eclipse/jgit/storage/file/WindowCacheConfig.java

@ -43,6 +43,14 @@
package org.eclipse.jgit.storage.file;
import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_CORE_SECTION;
import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_DELTA_BASE_CACHE_LIMIT;
import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_PACKED_GIT_LIMIT;
import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_PACKED_GIT_MMAP;
import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_PACKED_GIT_OPENFILES;
import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_PACKED_GIT_WINDOWSIZE;
import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_STREAM_FILE_TRESHOLD;
import org.eclipse.jgit.internal.storage.file.WindowCache;
import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.storage.pack.PackConfig;
@ -227,20 +235,20 @@ public class WindowCacheConfig {
* @since 3.0
*/
public WindowCacheConfig fromConfig(Config rc) {
setPackedGitOpenFiles(rc.getInt(
"core", null, "packedgitopenfiles", getPackedGitOpenFiles())); //$NON-NLS-1$ //$NON-NLS-2$
setPackedGitLimit(rc.getLong(
"core", null, "packedgitlimit", getPackedGitLimit())); //$NON-NLS-1$ //$NON-NLS-2$
setPackedGitWindowSize(rc.getInt(
"core", null, "packedgitwindowsize", getPackedGitWindowSize())); //$NON-NLS-1$ //$NON-NLS-2$
setPackedGitMMAP(rc.getBoolean(
"core", null, "packedgitmmap", isPackedGitMMAP())); //$NON-NLS-1$ //$NON-NLS-2$
setDeltaBaseCacheLimit(rc.getInt(
"core", null, "deltabasecachelimit", getDeltaBaseCacheLimit())); //$NON-NLS-1$ //$NON-NLS-2$
setPackedGitOpenFiles(rc.getInt(CONFIG_CORE_SECTION, null,
CONFIG_KEY_PACKED_GIT_OPENFILES, getPackedGitOpenFiles()));
setPackedGitLimit(rc.getLong(CONFIG_CORE_SECTION, null,
CONFIG_KEY_PACKED_GIT_LIMIT, getPackedGitLimit()));
setPackedGitWindowSize(rc.getInt(CONFIG_CORE_SECTION, null,
CONFIG_KEY_PACKED_GIT_WINDOWSIZE, getPackedGitWindowSize()));
setPackedGitMMAP(rc.getBoolean(CONFIG_CORE_SECTION, null,
CONFIG_KEY_PACKED_GIT_MMAP, isPackedGitMMAP()));
setDeltaBaseCacheLimit(rc.getInt(CONFIG_CORE_SECTION, null,
CONFIG_KEY_DELTA_BASE_CACHE_LIMIT, getDeltaBaseCacheLimit()));
long maxMem = Runtime.getRuntime().maxMemory();
long sft = rc.getLong(
"core", null, "streamfilethreshold", getStreamFileThreshold()); //$NON-NLS-1$ //$NON-NLS-2$
long sft = rc.getLong(CONFIG_CORE_SECTION, null,
CONFIG_KEY_STREAM_FILE_TRESHOLD, getStreamFileThreshold());
sft = Math.min(sft, maxMem / 4); // don't use more than 1/4 of the heap
sft = Math.min(sft, Integer.MAX_VALUE); // cannot exceed array length
setStreamFileThreshold((int) sft);

Loading…
Cancel
Save