diff options
author | Edward Thomson <ethomson@vercel.com> | 2023-03-02 23:21:23 +0000 |
---|---|---|
committer | Edward Thomson <ethomson@vercel.com> | 2023-03-02 23:21:50 +0000 |
commit | 309befe413d7ab68e8e410d8121af98467620792 (patch) | |
tree | 77545d4f9b7fc2079f66bae9bb2325108dcd4115 | |
parent | 6fb5ab372366a92ae36aac36e1427158c22f3278 (diff) | |
download | libgit2-309befe413d7ab68e8e410d8121af98467620792.tar.gz |
index: test `git_index_add_all` with force
Ensure that when all files beneath a directory are ignored that we
add the files when FORCE is specified.
-rw-r--r-- | tests/libgit2/index/addall.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/libgit2/index/addall.c b/tests/libgit2/index/addall.c index 0d3407d48..e76b6e81d 100644 --- a/tests/libgit2/index/addall.c +++ b/tests/libgit2/index/addall.c @@ -464,6 +464,29 @@ void test_index_addall__handles_ignored_files_in_directory(void) git_index_free(index); } +void test_index_addall__force_adds_ignored_directories(void) +{ + git_index *index; + + g_repo = cl_git_sandbox_init_new(TEST_DIR); + + cl_git_mkfile(TEST_DIR "/file.foo", "a file"); + cl_git_mkfile(TEST_DIR "/file.bar", "another file"); + cl_must_pass(p_mkdir(TEST_DIR "/folder", 0777)); + cl_git_mkfile(TEST_DIR "/folder/asdf", "yet another file"); + + cl_git_mkfile(TEST_DIR "/.gitignore", "folder/\n"); + + check_status(g_repo, 0, 0, 0, 3, 0, 0, 1, 0); + + cl_git_pass(git_repository_index(&index, g_repo)); + cl_git_pass(git_index_add_all(index, NULL, GIT_INDEX_ADD_FORCE, NULL, NULL)); + + check_status(g_repo, 4, 0, 0, 0, 0, 0, 0, 0); + + git_index_free(index); +} + void test_index_addall__adds_conflicts(void) { git_index *index; |