diff options
| author | Vicent Martà <vicent@github.com> | 2013-04-30 10:29:46 -0700 |
|---|---|---|
| committer | Vicent Martà <vicent@github.com> | 2013-04-30 10:29:46 -0700 |
| commit | 5e2261aca86310aa180eab5ccdc345b1539b024d (patch) | |
| tree | d32c330bd2b6e74bc22d9dc9b519c10cb7d0066e /tests-clar/submodule/status.c | |
| parent | 7dcda3aa3780292e33bb9229ff998ffe4edc07bf (diff) | |
| parent | 5fa7e469848bef4eab19cc069df9aa3b0134c9f7 (diff) | |
| download | libgit2-5e2261aca86310aa180eab5ccdc345b1539b024d.tar.gz | |
Merge pull request #1507 from arrbee/fix-look-inside-untracked-directory
Update diff handling of "untracked" directories
Diffstat (limited to 'tests-clar/submodule/status.c')
| -rw-r--r-- | tests-clar/submodule/status.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests-clar/submodule/status.c b/tests-clar/submodule/status.c index 282e82758..fca84af63 100644 --- a/tests-clar/submodule/status.c +++ b/tests-clar/submodule/status.c @@ -383,3 +383,30 @@ void test_submodule_status__iterator(void) cl_git_pass(git_status_foreach_ext(g_repo, &opts, confirm_submodule_status, &exp)); } + +void test_submodule_status__untracked_dirs_containing_ignored_files(void) +{ + git_buf path = GIT_BUF_INIT; + unsigned int status, expected; + git_submodule *sm; + + cl_git_pass(git_buf_joinpath(&path, git_repository_path(g_repo), "modules/sm_unchanged/info/exclude")); + cl_git_append2file(git_buf_cstr(&path), "\n*.ignored\n"); + + cl_git_pass(git_buf_joinpath(&path, git_repository_workdir(g_repo), "sm_unchanged/directory")); + cl_git_pass(git_futils_mkdir(git_buf_cstr(&path), NULL, 0755, 0)); + cl_git_pass(git_buf_joinpath(&path, git_buf_cstr(&path), "i_am.ignored")); + cl_git_mkfile(git_buf_cstr(&path), "ignored this file, please\n"); + + cl_git_pass(git_submodule_lookup(&sm, g_repo, "sm_unchanged")); + cl_git_pass(git_submodule_status(&status, sm)); + + cl_assert(GIT_SUBMODULE_STATUS_IS_UNMODIFIED(status)); + + expected = GIT_SUBMODULE_STATUS_IN_HEAD | + GIT_SUBMODULE_STATUS_IN_INDEX | + GIT_SUBMODULE_STATUS_IN_CONFIG | + GIT_SUBMODULE_STATUS_IN_WD; + + cl_assert(status == expected); +} |
