Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2013-07-03 03:49:57 +0400
committerRussell Belfer <rb@github.com>2013-07-10 23:15:03 +0400
commit125655fe3f0caf8b3d9fff2ec45ec694b34eed04 (patch)
tree677bb10e844cc18726ae2720e49987bd7aedfef0 /tests-clar/status
parent9564229af42b68d205376853410c55b957546a14 (diff)
Untracked directories with .git should be ignored
This restores a behavior that was accidentally lost during some diff refactoring where an untracked directory that contains a .git item should be treated as IGNORED, not as UNTRACKED. The submodule code already detects this, but the diff code was not handling the scenario right. This also updates a number of existing tests that were actually exercising the behavior but did not have the right expectations in place. It actually makes the new `test_diff_submodules__diff_ignore_options` test feel much better because the "not-a-submodule" entries are now ignored instead of showing up as untracked items. Fixes #1697
Diffstat (limited to 'tests-clar/status')
-rw-r--r--tests-clar/status/submodules.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/tests-clar/status/submodules.c b/tests-clar/status/submodules.c
index af8707721..7bfef503f 100644
--- a/tests-clar/status/submodules.c
+++ b/tests-clar/status/submodules.c
@@ -9,25 +9,19 @@ static git_repository *g_repo = NULL;
void test_status_submodules__initialize(void)
{
- g_repo = cl_git_sandbox_init("submodules");
-
- cl_fixture_sandbox("testrepo.git");
-
- rewrite_gitmodules(git_repository_workdir(g_repo));
-
- p_rename("submodules/testrepo/.gitted", "submodules/testrepo/.git");
}
void test_status_submodules__cleanup(void)
{
- cl_git_sandbox_cleanup();
- cl_fixture_cleanup("testrepo.git");
+ cleanup_fixture_submodules();
}
void test_status_submodules__api(void)
{
git_submodule *sm;
+ g_repo = setup_fixture_submodules();
+
cl_assert(git_submodule_lookup(NULL, g_repo, "nonexistent") == GIT_ENOTFOUND);
cl_assert(git_submodule_lookup(NULL, g_repo, "modified") == GIT_ENOTFOUND);
@@ -42,6 +36,8 @@ void test_status_submodules__0(void)
{
int counts = 0;
+ g_repo = setup_fixture_submodules();
+
cl_assert(git_path_isdir("submodules/.git"));
cl_assert(git_path_isdir("submodules/testrepo/.git"));
cl_assert(git_path_isfile("submodules/.gitmodules"));
@@ -86,6 +82,8 @@ void test_status_submodules__1(void)
{
status_entry_counts counts;
+ g_repo = setup_fixture_submodules();
+
cl_assert(git_path_isdir("submodules/.git"));
cl_assert(git_path_isdir("submodules/testrepo/.git"));
cl_assert(git_path_isfile("submodules/.gitmodules"));
@@ -104,6 +102,7 @@ void test_status_submodules__1(void)
void test_status_submodules__single_file(void)
{
unsigned int status = 0;
+ g_repo = setup_fixture_submodules();
cl_git_pass( git_status_file(&status, g_repo, "testrepo") );
cl_assert(!status);
}
@@ -134,6 +133,8 @@ void test_status_submodules__moved_head(void)
GIT_STATUS_WT_NEW
};
+ g_repo = setup_fixture_submodules();
+
cl_git_pass(git_submodule_lookup(&sm, g_repo, "testrepo"));
cl_git_pass(git_submodule_open(&smrepo, sm));
@@ -192,6 +193,8 @@ void test_status_submodules__dirty_workdir_only(void)
GIT_STATUS_WT_NEW
};
+ g_repo = setup_fixture_submodules();
+
cl_git_rewritefile("submodules/testrepo/README", "heyheyhey");
cl_git_mkfile("submodules/testrepo/all_new.txt", "never seen before");