Skip to main content

config_add

Function config_add 

Source
pub fn config_add(cwd: &Path, key: &str, value: &str) -> Result<(), GitError>
Expand description

Add a multi-value entry to the repository’s local config (<section>[.<subsection>].<name> = value).

In-process equivalent of git config --add <key> <value>. Used by the LFS agent’s install / enable-debug subcommands. --add semantics rather than set so that re-running install does not silently clobber an existing entry the user added by hand.

The write goes through gix-lock (atomic rename via <path>.lock), preserving parity with git config’s on-disk concurrency contract.

§Errors

Returns GitError::ConfigKeyParse for a malformed dotted key, GitError::ConfigInvalidValueName if the value name is rejected by gix-config, GitError::ConfigInvalidSectionName if the section name is rejected, GitError::Discover if the repository cannot be located, GitError::ConfigParse if the existing config cannot be parsed, GitError::ConfigLock if the lock cannot be acquired, or GitError::Io for other file I/O failures.