Skip to main content

Module opts

Module opts 

Source
Expand description

Bindings to libgit2’s git_libgit2_opts function.

Functions§

enable_caching
Controls whether or not libgit2 will cache loaded objects. Enabled by default, but disabling this can improve performance and memory usage if loading a large number of objects that will not be referenced again. Disabling this will cause repository objects to clear their caches when next accessed.
get_cached_memory⚠
Get the current bytes in cache and the maximum that would be allowed in the cache.
get_extensions⚠
Returns the list of git extensions that are supported. This is the list of built-in extensions supported by libgit2 and custom extensions that have been added with set_extensions. Extensions that have been negated will not be returned.
get_mwindow_file_limit⚠
Get the maximum number of files that will be mapped at any time by the library.
get_mwindow_mapped_limit⚠
Get the maximum memory that will be mapped in total by the library
get_mwindow_size⚠
Get the maximum mmap window size
get_search_path⚠
Get the search path for a given level of config data.
get_server_connect_timeout_in_milliseconds⚠
Get server connect timeout in milliseconds
get_server_timeout_in_milliseconds⚠
Get server timeout in milliseconds
reset_search_path⚠
Reset the search path for a given level of config data to the default (generally based on environment variables).
set_cache_max_size⚠
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.
set_cache_object_limit⚠
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 ObjectType::Blob (i.e. won’t cache blobs) and 4k for ObjectType::Commit, ObjectType::Tree, and ObjectType::Tag.
set_extensions⚠
Set that the given git extensions are supported by the caller. Extensions supported by libgit2 may be negated by prefixing them with a !. For example: setting extensions to [ "!noop", "newext" ] indicates that the caller does not want to support repositories with the noop extension but does want to support repositories with the newext extension.
set_mwindow_file_limit⚠
Set the maximum number of files that can be mapped at any time by the library. The default (0) is unlimited.
set_mwindow_mapped_limit⚠
Set the maximum amount of memory that can be mapped at any time by the library.
set_mwindow_size⚠
Set the maximum mmap window size
set_search_path⚠
Set the search path for a level of config data. The search path applied to shared attributes and ignore files, too.
set_server_connect_timeout_in_milliseconds⚠
Set server connect timeout in milliseconds
set_server_timeout_in_milliseconds⚠
Set server timeout in milliseconds
set_ssl_cert_dir⚠
Set the SSL certificate-authority location to path. path is the location of a directory holding several certificates, one per file.
set_ssl_cert_file⚠
Set the SSL certificate-authority location to file. file is the location of a file containing several certificates concatenated together.
set_verify_owner_validation⚠
Set whether or not to verify ownership before performing a repository. Enabled by default, but disabling this can lead to code execution vulnerabilities.
strict_hash_verification
Controls whether or not libgit2 will verify that objects loaded have the expected hash. Enabled by default, but disabling this can significantly improve performance, at the cost of relying on repository integrity without checking it.
strict_object_creation
Controls whether or not libgit2 will verify when writing an object that all objects it references are valid. Enabled by default, but disabling this can significantly improve performance, at the cost of potentially allowing the creation of objects that reference invalid objects (due to programming error or repository corruption).