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

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

@param start_path The base path where the lookup starts.

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

@param ceiling_dirs 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 0 or an error code

extern (C) nothrow @nogc
int
git_repository_discover

Meta