Struct git2::Config [−][src]
pub struct Config { /* fields omitted */ }
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).
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.
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.
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 .
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.
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());
}
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).
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.