Open a git repository by manually specifying all its paths
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.
The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, "$GIT_DIR/objects/" is assumed.
The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, "$GIT_DIR/index" is assumed.
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.
0 on success; error code otherwise