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); 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 GIT_END_DECL
#endif #endif

View File

@ -486,3 +486,9 @@ const char *git_repository_workdir(git_repository *repo)
assert(repo); assert(repo);
return repo->path_workdir; 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 (repo->path_index != NULL || expected_path_index != NULL) {
if (git__suffixcmp(repo->path_index, expected_path_index) != 0) if (git__suffixcmp(repo->path_index, expected_path_index) != 0)
goto cleanup; 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); git_repository_free(repo);
rmdir_recurs(working_directory); rmdir_recurs(working_directory);