git_config {gert}R Documentation

Get or set Git configuration

Description

Get or set Git options, as ⁠git config⁠ does on the command line. Global settings affect all of a user's Git operations (⁠git config --global⁠), whereas local settings are scoped to a specific repository (⁠git config --local⁠). When both exist, local options always win. Four functions address the four possible combinations of getting vs setting and global vs. local.

local global
get git_config() git_config_global()
set git_config_set() git_config_global_set()

Usage

git_config(repo = ".")

git_config_global()

git_config_set(name, value, repo = ".")

git_config_global_set(name, value)

Arguments

repo

The path to the git repository. If the directory is not a repository, parent directories are considered (see git_find). To disable this search, provide the filepath protected with I(). When using this parameter, always explicitly call by name (i.e. ⁠repo = ⁠) because future versions of gert may have additional parameters.

name

Name of the option to set

value

Value to set. Must be a string, logical, number or NULL (to unset).

Value

Note

All entries in the name column are automatically normalised to lowercase (see https://libgit2.org/libgit2/#HEAD/type/git_config_entry for details).

See Also

Other git: git_archive, git_branch(), git_commit(), git_diff(), git_fetch(), git_ignore, git_merge(), git_rebase(), git_remote, git_repo, git_reset(), git_signature(), git_stash, git_tag

Examples

# Set and inspect a local, custom Git option
r <- file.path(tempdir(), "gert-demo")
git_init(r)

previous <- git_config_set("aaa.bbb", "ccc", repo = r)
previous
cfg <- git_config(repo = r)
subset(cfg, level == "local")
cfg$value[cfg$name == "aaa.bbb"]

previous <- git_config_set("aaa.bbb", NULL, repo = r)
previous
cfg <- git_config(repo = r)
subset(cfg, level == "local")
cfg$value[cfg$name == "aaa.bbb"]

unlink(r, recursive = TRUE)

## Not run: 
# Set global Git options
git_config_global_set("user.name", "Your Name")
git_config_global_set("user.email", "your@email.com")
git_config_global()

## End(Not run)

[Package gert version 2.1.0 Index]