Struct git2::Config

source · []
pub struct Config { /* private fields */ }
Expand description

A structure representing a git configuration key/value store

Implementations

Allocate a new configuration object

This object is empty, so you have to add a file to it before you can do anything with it.

Create a new config instance containing a single on-disk file

Open the global, XDG and system configuration files

Utility wrapper that finds the global, XDG and system configuration files and opens them into a single prioritized config object that can be used when accessing default config data outside a repository.

Locate the path to the global configuration file

The user or global configuration file is usually located in $HOME/.gitconfig.

This method will try to guess the full path to that file, if the file exists. The returned path may be used on any method call to load the global configuration file.

This method will not guess the path to the xdg compatible config file (.config/git/config).

Locate the path to the system configuration file

If /etc/gitconfig doesn’t exist, it will look for %PROGRAMFILES%

Locate the path to the global xdg compatible configuration file

The xdg compatible configuration file is usually located in $HOME/.config/git/config.

Add an on-disk config file instance to an existing config

The on-disk file pointed at by path will be opened and parsed; it’s expected to be a native Git config file following the default Git config syntax (see man git-config).

Further queries on this config object will access each of the config file instances in order (instances with a higher priority level will be accessed first).

Delete a config variable from the config file with the highest level (usually the local one).

Remove multivar config variables in the config file with the highest level (usually the local one).

The regular expression is applied case-sensitively on the value.

Get the value of a boolean config variable.

All config files will be looked into, in the order of their defined level. A higher level means a higher priority. The first occurrence of the variable will be returned here.

Get the value of an integer config variable.

All config files will be looked into, in the order of their defined level. A higher level means a higher priority. The first occurrence of the variable will be returned here.

Get the value of an integer config variable.

All config files will be looked into, in the order of their defined level. A higher level means a higher priority. The first occurrence of the variable will be returned here.

Get the value of a string config variable.

This is the same as get_bytes except that it may return Err if the bytes are not valid utf-8.

This method will return an error if this Config is not a snapshot.

Get the value of a string config variable as a byte slice.

This method will return an error if this Config is not a snapshot.

Get the value of a string config variable as an owned string.

All config files will be looked into, in the order of their defined level. A higher level means a higher priority. The first occurrence of the variable will be returned here.

An error will be returned if the config value is not valid utf-8.

Get the value of a path config variable as an owned PathBuf.

A leading ‘~’ will be expanded to the global search path (which defaults to the user’s home directory but can be overridden via raw::git_libgit2_opts.

All config files will be looked into, in the order of their defined level. A higher level means a higher priority. The first occurrence of the variable will be returned here.

source

pub fn get_entry(&self, name: &str) -> Result<ConfigEntry<'_>, Error>

Get the ConfigEntry for a config variable.

Iterate over all the config variables

If glob is Some, then the iterator will only iterate over all variables whose name matches the pattern.

The regular expression is applied case-sensitively on the normalized form of the variable name: the section and variable parts are lower-cased. The subsection is left unchanged.

Example
use git2::Config;

let cfg = Config::new().unwrap();

for entry in &cfg.entries(None).unwrap() {
    let entry = entry.unwrap();
    println!("{} => {}", entry.name().unwrap(), entry.value().unwrap());
}

Iterate over the values of a multivar

If regexp is Some, then the iterator will only iterate over all values which match the pattern.

The regular expression is applied case-sensitively on the normalized form of the variable name: the section and variable parts are lower-cased. The subsection is left unchanged.

Open the global/XDG configuration file according to git’s rules

Git allows you to store your global configuration at $HOME/.config or $XDG_CONFIG_HOME/git/config. For backwards compatability, the XDG file shouldn’t be used unless the use has created it explicitly. With this function you’ll open the correct one to write to.

Build a single-level focused config object from a multi-level one.

The returned config object can be used to perform get/set/delete operations on a single specific level.

Set the value of a boolean config variable in the config file with the highest level (usually the local one).

Set the value of an integer config variable in the config file with the highest level (usually the local one).

Set the value of an integer config variable in the config file with the highest level (usually the local one).

Set the value of an multivar config variable in the config file with the highest level (usually the local one).

The regular expression is applied case-sensitively on the value.

Set the value of a string config variable in the config file with the highest level (usually the local one).

Create a snapshot of the configuration

Create a snapshot of the current state of a configuration, which allows you to look into a consistent view of the configuration for looking up complex values (e.g. a remote, submodule).

Parse a string as a bool.

Interprets “true”, “yes”, “on”, 1, or any non-zero number as true. Interprets “false”, “no”, “off”, 0, or an empty string as false.

Parse a string as an i32; handles suffixes like k, M, or G, and multiplies by the appropriate power of 1024.

Parse a string as an i64; handles suffixes like k, M, or G, and multiplies by the appropriate power of 1024.

Trait Implementations

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.