]> git.proxmox.com Git - libgit2.git/commitdiff
submodule: add failing test for backslash in url
authorCarlos Martín Nieto <cmn@dwim.me>
Mon, 13 Jul 2015 06:39:35 +0000 (08:39 +0200)
committerCarlos Martín Nieto <cmn@dwim.me>
Mon, 13 Jul 2015 06:39:35 +0000 (08:39 +0200)
tests/submodule/lookup.c

index 4d40e2279087839004732c85b2b46526246383cf..38f06abbc4db5893b3246320532c6f2c2f2f7a2c 100644 (file)
@@ -133,6 +133,29 @@ void test_submodule_lookup__lookup_even_with_missing_index(void)
        test_submodule_lookup__simple_lookup(); /* baseline should still pass */
 }
 
+void test_submodule_lookup__backslashes(void)
+{
+       git_config *cfg;
+       git_submodule *sm;
+       git_repository *subrepo;
+       git_buf buf = GIT_BUF_INIT;
+       const char *backslashed_path = "..\\submod2_target";
+
+       cl_git_pass(git_config_open_ondisk(&cfg, "submod2/.gitmodules"));
+       cl_git_pass(git_config_set_string(cfg, "submodule.sm_unchanged.url", backslashed_path));
+       git_config_free(cfg);
+
+       cl_git_pass(git_submodule_lookup(&sm, g_repo, "sm_unchanged"));
+       cl_assert_equal_s(backslashed_path, git_submodule_url(sm));
+       cl_git_pass(git_submodule_open(&subrepo, sm));
+
+       cl_git_pass(git_submodule_resolve_url(&buf, g_repo, backslashed_path));
+
+       git_buf_free(&buf);
+       git_submodule_free(sm);
+       git_repository_free(subrepo);
+}
+
 static void baseline_tests(void)
 {
        /* small baseline that should work even if we change the index or make