Merge pull request #206 from nulltoken/topic/is-bare

Add git_repository_is_bare() accessor
This commit is contained in:
Vicent Martí 2011-06-01 09:58:21 -07:00
commit 50b7334e51
3 changed files with 22 additions and 1 deletions

View File

@ -220,6 +220,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

@ -486,3 +486,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);