libgit2

git_repository_open3

Version:

Open a git repository by manually specifying its paths and the object database it will use.

Signature

int git_repository_open3(git_repository **repository, const char *git_dir, git_odb *object_database, const char *git_index_file, const char *git_work_tree);

Parameters

In
repository

pointer to the repo which will be opened

const char *
In
git_dir

The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL.

In
object_database

A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid.

const char *
In
git_index_file

The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, "$GIT_DIR/index" is assumed.

const char *
In
git_work_tree

The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare.

Returns

int

GIT_SUCCESS or an error code

Versions