summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Germishuys <jacquesg@striata.com>2014-09-24 13:24:06 +0200
committerJacques Germishuys <jacquesg@striata.com>2014-09-24 13:24:06 +0200
commit940da5486109d7641c1740955b7fa6334bcda922 (patch)
treed267411b2ed1eac9736f49494a72f2e0d918745e
parent2cd3cb8e03591e08c1cc1890ae5b82a498773f19 (diff)
downloadlibgit2-940da5486109d7641c1740955b7fa6334bcda922.tar.gz
Added test for stashing files in ignored directories
-rw-r--r--tests/stash/save.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/stash/save.c b/tests/stash/save.c
index 3b301bfc0..7873d20ba 100644
--- a/tests/stash/save.c
+++ b/tests/stash/save.c
@@ -368,6 +368,23 @@ void test_stash_save__including_untracked_without_any_untracked_file_creates_an_
assert_object_oid("stash^3^{tree}", EMPTY_TREE, GIT_OBJ_TREE);
}
+void test_stash_save__ignored_directory(void)
+{
+ cl_git_pass(mkdir("stash/ignored_directory", 0777));
+ cl_git_pass(mkdir("stash/ignored_directory/sub", 0777));
+ cl_git_mkfile("stash/ignored_directory/sub/some_file", "stuff");
+
+ assert_status(repo, "ignored_directory/sub/some_file", GIT_STATUS_WT_NEW);
+ cl_git_pass(git_ignore_add_rule(repo, "ignored_directory/"));
+ assert_status(repo, "ignored_directory/sub/some_file", GIT_STATUS_IGNORED);
+
+ cl_git_pass(git_stash_save(&stash_tip_oid, repo, signature, NULL, GIT_STASH_INCLUDE_UNTRACKED | GIT_STASH_INCLUDE_IGNORED));
+
+ cl_assert(!git_path_exists("stash/ignored_directory/sub/some_file"));
+ cl_assert(!git_path_exists("stash/ignored_directory/sub"));
+ cl_assert(!git_path_exists("stash/ignored_directory"));
+}
+
void test_stash_save__skip_submodules(void)
{
git_repository *untracked_repo;