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_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_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).