summaryrefslogtreecommitdiff
path: root/tests-clar
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@elego.de>2012-10-02 11:48:02 +0200
committerCarlos Martín Nieto <cmn@elego.de>2012-10-02 13:09:18 +0200
commit218c88a968eb983261920465105c698aaacacaaf (patch)
tree321eb2ebbb915c1d44a382733ca1a11471dcf6f9 /tests-clar
parent8bc5caccee4ebb0b9239135fe81750f3b72a8e76 (diff)
downloadlibgit2-218c88a968eb983261920465105c698aaacacaaf.tar.gz
remote: set/unset the autotag setting on save
Make the configuration option match the configured behavior when saving a remote.
Diffstat (limited to 'tests-clar')
-rw-r--r--tests-clar/network/remotes.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests-clar/network/remotes.c b/tests-clar/network/remotes.c
index c7ee863e7..91c3e879d 100644
--- a/tests-clar/network/remotes.c
+++ b/tests-clar/network/remotes.c
@@ -225,3 +225,27 @@ void test_network_remotes__add(void)
cl_assert(!strcmp(git_refspec_dst(_refspec), "refs/remotes/addtest/*"));
cl_assert_equal_s(git_remote_url(_remote), "http://github.com/libgit2/libgit2");
}
+
+void test_network_remotes__tagopt(void)
+{
+ const char *opt;
+ git_config *cfg;
+
+ cl_git_pass(git_repository_config(&cfg, _repo));
+
+ git_remote_set_autotag(_remote, GIT_REMOTE_DOWNLOAD_TAGS_ALL);
+ cl_git_pass(git_remote_save(_remote));
+ cl_git_pass(git_config_get_string(&opt, cfg, "remote.test.tagopt"));
+ cl_assert(!strcmp(opt, "--tags"));
+
+ git_remote_set_autotag(_remote, GIT_REMOTE_DOWNLOAD_TAGS_NONE);
+ cl_git_pass(git_remote_save(_remote));
+ cl_git_pass(git_config_get_string(&opt, cfg, "remote.test.tagopt"));
+ cl_assert(!strcmp(opt, "--no-tags"));
+
+ git_remote_set_autotag(_remote, GIT_REMOTE_DOWNLOAD_TAGS_AUTO);
+ cl_git_pass(git_remote_save(_remote));
+ cl_assert(git_config_get_string(&opt, cfg, "remote.test.tagopt") == GIT_ENOTFOUND);
+
+ git_config_free(cfg);
+}