From fa9bcd81f51ae33e315adbf8bbfc27eddd82cf57 Mon Sep 17 00:00:00 2001 From: nulltoken Date: Tue, 24 May 2011 21:48:07 +0200 Subject: [PATCH] Add git_repository_is_bare() accessor --- include/git2/repository.h | 8 ++++++++ src/repository.c | 6 ++++++ tests/t12-repo.c | 9 ++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/include/git2/repository.h b/include/git2/repository.h index c47fcfc9a..23f992f8c 100644 --- a/include/git2/repository.h +++ b/include/git2/repository.h @@ -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 diff --git a/src/repository.c b/src/repository.c index 468c88851..2054999fc 100644 --- a/src/repository.c +++ b/src/repository.c @@ -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; +} diff --git a/tests/t12-repo.c b/tests/t12-repo.c index 70dba4255..4e51f1b15 100644 --- a/tests/t12-repo.c +++ b/tests/t12-repo.c @@ -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);