summaryrefslogtreecommitdiff
path: root/tests-clar/diff/workdir.c
diff options
context:
space:
mode:
authornulltoken <emeric.fermas@gmail.com>2012-10-18 16:50:55 +0200
committernulltoken <emeric.fermas@gmail.com>2012-10-18 23:38:27 +0200
commitc2e43fb1f2254237a20a9f2a4383ec7eb613a36c (patch)
tree818f0d93647af3d83105e85ec40fd19beab36d75 /tests-clar/diff/workdir.c
parent502be5ff3f78a7847d72aa0ccb6d2875b296121b (diff)
downloadlibgit2-c2e43fb1f2254237a20a9f2a4383ec7eb613a36c.tar.gz
diff: workdir diffing in a bare repo returns EBAREREPO
Diffstat (limited to 'tests-clar/diff/workdir.c')
-rw-r--r--tests-clar/diff/workdir.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests-clar/diff/workdir.c b/tests-clar/diff/workdir.c
index e184c28b4..3e388ea70 100644
--- a/tests-clar/diff/workdir.c
+++ b/tests-clar/diff/workdir.c
@@ -1,5 +1,6 @@
#include "clar_libgit2.h"
#include "diff_helpers.h"
+#include "repository.h"
static git_repository *g_repo = NULL;
@@ -818,3 +819,19 @@ void test_diff_workdir__submodules(void)
git_diff_list_free(diff);
git_tree_free(a);
}
+
+void test_diff_workdir__cannot_diff_against_a_bare_repository(void)
+{
+ git_diff_options opts = {0};
+ git_diff_list *diff = NULL;
+ git_tree *tree;
+
+ g_repo = cl_git_sandbox_init("testrepo.git");
+
+ cl_assert_equal_i(GIT_EBAREREPO, git_diff_workdir_to_index(g_repo, &opts, &diff));
+
+ cl_git_pass(git_repository_head_tree(&tree, g_repo));
+ cl_assert_equal_i(GIT_EBAREREPO, git_diff_workdir_to_tree(g_repo, &opts, tree, &diff));
+
+ git_tree_free(tree);
+}