Skip to contents

Use git_init() to create a new repository or git_find() to discover an existing local repository. git_info() shows basic information about a repository, such as the SHA and branch of the current HEAD.

Usage

git_init(path = ".", bare = FALSE)

git_find(path = ".")

git_info(repo = ".")

Arguments

path

the location of the git repository, see details.

bare

if true, a Git repository without a working directory is created

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.

Value

The path to the Git repository.

Details

For git_init() the path parameter sets the directory of the git repository to create. If this directory already exists, it must be empty. If it does not exist, it is created, along with any intermediate directories that don't yet exist. For git_find() the path arguments specifies the directory at which to start the search for a git repository. If it is not a git repository itself, then its parent directory is consulted, then the parent's parent, and so on.

Examples

# directory does not yet exist
r <- tempfile(pattern = "gert")
git_init(r)
git_find(r)
#> [1] "/tmp/RtmpbXvDNE/gert7bb34a7dc7a"

# create a child directory, then a grandchild, then search
r_grandchild_dir <- file.path(r, "aaa", "bbb")
dir.create(r_grandchild_dir, recursive = TRUE)
git_find(r_grandchild_dir)
#> [1] "/tmp/RtmpbXvDNE/gert7bb34a7dc7a"

# cleanup
unlink(r, recursive = TRUE)

# directory exists but is empty
r <- tempfile(pattern = "gert")
dir.create(r)
git_init(r)
git_find(r)
#> [1] "/tmp/RtmpbXvDNE/gert7bbb3cca2d"

# cleanup
unlink(r, recursive = TRUE)