]> git.proxmox.com Git - libgit2.git/blobdiff - tests/submodule/modify.c
New upstream version 1.4.3+dfsg.1
[libgit2.git] / tests / submodule / modify.c
index f7a089e7265a2487b89c454f56c7498b87c59b68..7e7f0ca15923fdf27c23d3c6b3a3ee801deb18b7 100644 (file)
@@ -128,7 +128,7 @@ void test_submodule_modify__sync(void)
        git_submodule_free(sm3);
 }
 
-void assert_ignore_change(git_submodule_ignore_t ignore)
+static void assert_ignore_change(git_submodule_ignore_t ignore)
 {
        git_submodule *sm;
 
@@ -146,7 +146,7 @@ void test_submodule_modify__set_ignore(void)
        assert_ignore_change(GIT_SUBMODULE_IGNORE_ALL);
 }
 
-void assert_update_change(git_submodule_update_t update)
+static void assert_update_change(git_submodule_update_t update)
 {
        git_submodule *sm;
 
@@ -164,7 +164,7 @@ void test_submodule_modify__set_update(void)
        assert_update_change(GIT_SUBMODULE_UPDATE_CHECKOUT);
 }
 
-void assert_recurse_change(git_submodule_recurse_t recurse)
+static void assert_recurse_change(git_submodule_recurse_t recurse)
 {
        git_submodule *sm;
 
@@ -210,3 +210,24 @@ void test_submodule_modify__set_url(void)
        cl_assert_equal_s(SM_LIBGIT2_URL, git_submodule_url(sm));
        git_submodule_free(sm);
 }
+
+void test_submodule_modify__set_relative_url(void)
+{
+       git_str path = GIT_STR_INIT;
+       git_repository *repo;
+       git_submodule *sm;
+
+       cl_git_pass(git_submodule_set_url(g_repo, SM1, "../relative-url"));
+       cl_git_pass(git_submodule_lookup(&sm, g_repo, SM1));
+       cl_git_pass(git_submodule_sync(sm));
+       cl_git_pass(git_submodule_open(&repo, sm));
+
+       cl_git_pass(git_str_joinpath(&path, clar_sandbox_path(), "relative-url"));
+
+       assert_config_entry_value(g_repo, "submodule."SM1".url", path.ptr);
+       assert_config_entry_value(repo, "remote.origin.url", path.ptr);
+
+       git_repository_free(repo);
+       git_submodule_free(sm);
+       git_str_dispose(&path);
+}