Set or query a library global option
Available options:
Get the maximum mmap window size
Set the maximum mmap window size
Get the maximum memory that will be mapped in total by the library
Set the maximum amount of memory that can be mapped at any time by the library
Get the search path for a given level of config data. "level" must be one of
GIT_CONFIG_LEVEL_SYSTEM
,GIT_CONFIG_LEVEL_GLOBAL
, orGIT_CONFIG_LEVEL_XDG
. The search path is written to theout
buffer.
Set the search path for a level of config data. The search path applied to shared attributes and ignore files, too.
path
lists directories delimited by GIT_PATH_LIST_SEPARATOR. Pass NULL to reset to the default (generally based on environment variables). Use magic path$PATH
to include the old value of the path (if you want to prepend or append, for instance).
level
must be GIT_CONFIG_LEVEL_SYSTEM, GIT_CONFIG_LEVEL_GLOBAL, or GIT_CONFIG_LEVEL_XDG.
Set the maximum data size for the given type of object to be considered eligible for caching in memory. Setting to value to zero means that that type of object will not be cached. Defaults to 0 for GIT_OBJ_BLOB (i.e. won't cache blobs) and 4k for GIT_OBJ_COMMIT, GIT_OBJ_TREE, and GIT_OBJ_TAG.
Set the maximum total data size that will be cached in memory across all repositories before libgit2 starts evicting objects from the cache. This is a soft limit, in that the library might briefly exceed it, but will start aggressively evicting objects from cache when that happens. The default cache size is 256MB.
Enable or disable caching completely.
Because caches are repository-specific, disabling the cache cannot immediately clear all cached objects, but each cache will be cleared on the next attempt to update anything in it.
Get the current bytes in cache and the maximum that would be allowed in the cache.
Get the default template path. The path is written to the
out
buffer.
Set the default template path.
path
directory of template.
Option key
0 on success, < 0 on failure