[][src]Struct git2::Config

pub struct Config { /* fields omitted */ }

A structure representing a git configuration key/value store

Implementations

impl Config[src]

pub fn new() -> Result<Config, Error>[src]

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.

pub fn open(path: &Path) -> Result<Config, Error>[src]

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

pub fn open_default() -> Result<Config, Error>[src]

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.

pub fn find_global() -> Result<PathBuf, Error>[src]

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

pub fn find_system() -> Result<PathBuf, Error>[src]

Locate the path to the system configuration file

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

pub fn find_xdg() -> Result<PathBuf, Error>[src]

Locate the path to the global xdg compatible configuration file

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

pub fn add_file(
    &mut self,
    path: &Path,
    level: ConfigLevel,
    force: bool
) -> Result<(), Error>
[src]

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

pub fn remove(&mut self, name: &str) -> Result<(), Error>[src]

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

pub fn remove_multivar(&mut self, name: &str, regexp: &str) -> Result<(), Error>[src]

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.

pub fn get_bool(&self, name: &str) -> Result<bool, Error>[src]

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.

pub fn get_i32(&self, name: &str) -> Result<i32, Error>[src]

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.

pub fn get_i64(&self, name: &str) -> Result<i64, Error>[src]

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.

pub fn get_str(&self, name: &str) -> Result<&str, Error>[src]

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.

pub fn get_bytes(&self, name: &str) -> Result<&[u8], Error>[src]

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.

pub fn get_string(&self, name: &str) -> Result<String, Error>[src]

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.

pub fn get_path(&self, name: &str) -> Result<PathBuf, Error>[src]

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.

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

Get the ConfigEntry for a config variable.

pub fn entries(&self, glob: Option<&str>) -> Result<ConfigEntries<'_>, Error>[src]

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());
}

pub fn multivar(
    &self,
    name: &str,
    regexp: Option<&str>
) -> Result<ConfigEntries<'_>, Error>
[src]

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.

pub fn open_global(&mut self) -> Result<Config, Error>[src]

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.

pub fn open_level(&self, level: ConfigLevel) -> Result<Config, Error>[src]

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.

pub fn set_bool(&mut self, name: &str, value: bool) -> Result<(), Error>[src]

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

pub fn set_i32(&mut self, name: &str, value: i32) -> Result<(), Error>[src]

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

pub fn set_i64(&mut self, name: &str, value: i64) -> Result<(), Error>[src]

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

pub fn set_multivar(
    &mut self,
    name: &str,
    regexp: &str,
    value: &str
) -> Result<(), Error>
[src]

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.

pub fn set_str(&mut self, name: &str, value: &str) -> Result<(), Error>[src]

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

pub fn snapshot(&mut self) -> Result<Config, Error>[src]

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

pub fn parse_bool<S: IntoCString>(s: S) -> Result<bool, Error>[src]

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.

pub fn parse_i32<S: IntoCString>(s: S) -> Result<i32, Error>[src]

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

pub fn parse_i64<S: IntoCString>(s: S) -> Result<i64, Error>[src]

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

Trait Implementations

impl Drop for Config[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.