Commit 215af2cc by yorah

remote: make default tag retrieving behaviour consistent

Default for newly created remotes will be auto.
Default when loading existing remotes with no tag retrieving behaviour set, was already auto.
parent 0c01f93e
...@@ -48,9 +48,6 @@ static int download_tags_value(git_remote *remote, git_config *cfg) ...@@ -48,9 +48,6 @@ static int download_tags_value(git_remote *remote, git_config *cfg)
git_buf buf = GIT_BUF_INIT; git_buf buf = GIT_BUF_INIT;
int error; int error;
if (remote->download_tags != GIT_REMOTE_DOWNLOAD_TAGS_UNSET)
return 0;
/* This is the default, let's see if we need to change it */ /* This is the default, let's see if we need to change it */
remote->download_tags = GIT_REMOTE_DOWNLOAD_TAGS_AUTO; remote->download_tags = GIT_REMOTE_DOWNLOAD_TAGS_AUTO;
if (git_buf_printf(&buf, "remote.%s.tagopt", remote->name) < 0) if (git_buf_printf(&buf, "remote.%s.tagopt", remote->name) < 0)
...@@ -117,10 +114,12 @@ static int create_internal(git_remote **out, git_repository *repo, const char *n ...@@ -117,10 +114,12 @@ static int create_internal(git_remote **out, git_repository *repo, const char *n
goto on_error; goto on_error;
} }
if (!name)
/* A remote without a name doesn't download tags */ /* A remote without a name doesn't download tags */
if (!name) {
remote->download_tags = GIT_REMOTE_DOWNLOAD_TAGS_NONE; remote->download_tags = GIT_REMOTE_DOWNLOAD_TAGS_NONE;
} else
/* the default for a newly created remote is auto */
remote->download_tags = GIT_REMOTE_DOWNLOAD_TAGS_AUTO;
*out = remote; *out = remote;
git_buf_free(&fetchbuf); git_buf_free(&fetchbuf);
......
...@@ -286,11 +286,14 @@ void test_network_remote_remotes__add(void) ...@@ -286,11 +286,14 @@ void test_network_remote_remotes__add(void)
_remote = NULL; _remote = NULL;
cl_git_pass(git_remote_create(&_remote, _repo, "addtest", "http://github.com/libgit2/libgit2")); cl_git_pass(git_remote_create(&_remote, _repo, "addtest", "http://github.com/libgit2/libgit2"));
cl_assert_equal_i(GIT_REMOTE_DOWNLOAD_TAGS_AUTO, git_remote_autotag(_remote));
git_remote_free(_remote); git_remote_free(_remote);
_remote = NULL; _remote = NULL;
cl_git_pass(git_remote_load(&_remote, _repo, "addtest")); cl_git_pass(git_remote_load(&_remote, _repo, "addtest"));
cl_assert_equal_i(GIT_REMOTE_DOWNLOAD_TAGS_AUTO, git_remote_autotag(_remote));
_refspec = git_vector_get(&_remote->refspecs, 0); _refspec = git_vector_get(&_remote->refspecs, 0);
cl_assert_equal_s("refs/heads/*", git_refspec_src(_refspec)); cl_assert_equal_s("refs/heads/*", git_refspec_src(_refspec));
cl_assert(git_refspec_force(_refspec) == 1); cl_assert(git_refspec_force(_refspec) == 1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment