git_repository_discover

Look for a git repository and copy its path in the given buffer. The lookup start from base_path and walk across parent directories if nothing has been found. The lookup ends when the first repository is found, or when reaching a directory referenced in ceiling_dirs or when the filesystem changes (in case across_fs is true).

The method will automatically detect if the repository is bare (if there is a repository).

extern (C) nothrow @nogc
int
git_repository_discover

Parameters

out_ libgit2_d.buffer.git_buf*

A pointer to a user-allocated git_buf which will contain the found path.

start_path const(char)*

The base path where the lookup starts.

across_fs int

If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories.

ceiling_dirs const(char)*

A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be null (which is equivalent to an empty string)

Return Value

Type: int

0 or an error code

Meta