diff options
author | yorah <yoram.harmelin@gmail.com> | 2013-05-30 17:40:56 +0200 |
---|---|---|
committer | yorah <yoram.harmelin@gmail.com> | 2013-05-30 17:59:11 +0200 |
commit | 215af2ccb87ac22d94b7205ff97a050622de6897 (patch) | |
tree | 3e25087463609bd3872d8b794f493280534fd5fa | |
parent | 0c01f93e8c89a16b3531e4fb32384fe90bf4c548 (diff) | |
download | libgit2-215af2ccb87ac22d94b7205ff97a050622de6897.tar.gz |
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.
-rw-r--r-- | src/remote.c | 11 | ||||
-rw-r--r-- | tests-clar/network/remote/remotes.c | 3 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/remote.c b/src/remote.c index 7a64622a5..4fefe8001 100644 --- a/src/remote.c +++ b/src/remote.c @@ -48,9 +48,6 @@ static int download_tags_value(git_remote *remote, git_config *cfg) git_buf buf = GIT_BUF_INIT; 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 */ remote->download_tags = GIT_REMOTE_DOWNLOAD_TAGS_AUTO; 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 goto on_error; } - /* A remote without a name doesn't download tags */ - if (!name) { + if (!name) + /* A remote without a name doesn't download tags */ 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; git_buf_free(&fetchbuf); diff --git a/tests-clar/network/remote/remotes.c b/tests-clar/network/remote/remotes.c index 34f1c055c..3c4fa96fa 100644 --- a/tests-clar/network/remote/remotes.c +++ b/tests-clar/network/remote/remotes.c @@ -286,11 +286,14 @@ void test_network_remote_remotes__add(void) _remote = NULL; 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); _remote = NULL; 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); cl_assert_equal_s("refs/heads/*", git_refspec_src(_refspec)); cl_assert(git_refspec_force(_refspec) == 1); |