mirror of
https://github.com/libgit2/libgit2.git
synced 2026-06-22 06:26:26 +00:00
repository: support the 'worktreeConfig' extension
Now that worktree-level configuration can be read from disk and manipulated in memory, we should be able to say we support 'extensions.worktreeConfig'.
This commit is contained in:
@@ -1852,7 +1852,8 @@ static int check_repositoryformatversion(int *version, git_config *config)
|
||||
|
||||
static const char *builtin_extensions[] = {
|
||||
"noop",
|
||||
"objectformat"
|
||||
"objectformat",
|
||||
"worktreeconfig",
|
||||
};
|
||||
|
||||
static git_vector user_extensions = { 0, git__strcmp_cb };
|
||||
|
||||
@@ -34,9 +34,10 @@ void test_core_opts__extensions_query(void)
|
||||
|
||||
cl_git_pass(git_libgit2_opts(GIT_OPT_GET_EXTENSIONS, &out));
|
||||
|
||||
cl_assert_equal_sz(out.count, 2);
|
||||
cl_assert_equal_sz(out.count, 3);
|
||||
cl_assert_equal_s("noop", out.strings[0]);
|
||||
cl_assert_equal_s("objectformat", out.strings[1]);
|
||||
cl_assert_equal_s("worktreeconfig", out.strings[2]);
|
||||
|
||||
git_strarray_dispose(&out);
|
||||
}
|
||||
@@ -49,10 +50,11 @@ void test_core_opts__extensions_add(void)
|
||||
cl_git_pass(git_libgit2_opts(GIT_OPT_SET_EXTENSIONS, in, ARRAY_SIZE(in)));
|
||||
cl_git_pass(git_libgit2_opts(GIT_OPT_GET_EXTENSIONS, &out));
|
||||
|
||||
cl_assert_equal_sz(out.count, 3);
|
||||
cl_assert_equal_sz(out.count, 4);
|
||||
cl_assert_equal_s("foo", out.strings[0]);
|
||||
cl_assert_equal_s("noop", out.strings[1]);
|
||||
cl_assert_equal_s("objectformat", out.strings[2]);
|
||||
cl_assert_equal_s("worktreeconfig", out.strings[3]);
|
||||
|
||||
git_strarray_dispose(&out);
|
||||
}
|
||||
@@ -65,10 +67,11 @@ void test_core_opts__extensions_remove(void)
|
||||
cl_git_pass(git_libgit2_opts(GIT_OPT_SET_EXTENSIONS, in, ARRAY_SIZE(in)));
|
||||
cl_git_pass(git_libgit2_opts(GIT_OPT_GET_EXTENSIONS, &out));
|
||||
|
||||
cl_assert_equal_sz(out.count, 3);
|
||||
cl_assert_equal_sz(out.count, 4);
|
||||
cl_assert_equal_s("bar", out.strings[0]);
|
||||
cl_assert_equal_s("baz", out.strings[1]);
|
||||
cl_assert_equal_s("objectformat", out.strings[2]);
|
||||
cl_assert_equal_s("worktreeconfig", out.strings[3]);
|
||||
|
||||
git_strarray_dispose(&out);
|
||||
}
|
||||
@@ -81,11 +84,12 @@ void test_core_opts__extensions_uniq(void)
|
||||
cl_git_pass(git_libgit2_opts(GIT_OPT_SET_EXTENSIONS, in, ARRAY_SIZE(in)));
|
||||
cl_git_pass(git_libgit2_opts(GIT_OPT_GET_EXTENSIONS, &out));
|
||||
|
||||
cl_assert_equal_sz(out.count, 4);
|
||||
cl_assert_equal_sz(out.count, 5);
|
||||
cl_assert_equal_s("bar", out.strings[0]);
|
||||
cl_assert_equal_s("foo", out.strings[1]);
|
||||
cl_assert_equal_s("noop", out.strings[2]);
|
||||
cl_assert_equal_s("objectformat", out.strings[3]);
|
||||
cl_assert_equal_s("worktreeconfig", out.strings[4]);
|
||||
|
||||
git_strarray_dispose(&out);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user