Add git_repository_is_bare() accessor

This commit is contained in:
nulltoken 2011-05-24 21:48:07 +02:00
parent 4191d52924
commit fa9bcd81f5
3 changed files with 22 additions and 1 deletions

View File

@ -212,6 +212,14 @@ GIT_EXTERN(const char *) git_repository_path(git_repository *repo);
*/
GIT_EXTERN(const char *) git_repository_workdir(git_repository *repo);
/**
* Check if a repository is bare
*
* @param repo Repo to test
* @return 1 if the repository is empty, 0 otherwise.
*/
GIT_EXTERN(int) git_repository_is_bare(git_repository *repo);
/** @} */
GIT_END_DECL
#endif

View File

@ -509,3 +509,9 @@ const char *git_repository_workdir(git_repository *repo)
assert(repo);
return repo->path_workdir;
}
int git_repository_is_bare(git_repository *repo)
{
assert(repo);
return repo->is_bare;
}

View File

@ -126,7 +126,14 @@ static int ensure_repository_init(
if (repo->path_index != NULL || expected_path_index != NULL) {
if (git__suffixcmp(repo->path_index, expected_path_index) != 0)
goto cleanup;
}
if (git_repository_is_bare(repo) == 1)
goto cleanup;
} else if (git_repository_is_bare(repo) == 0)
goto cleanup;
if (git_repository_is_empty(repo) == 0)
goto cleanup;
git_repository_free(repo);
rmdir_recurs(working_directory);