aboutsummaryrefslogtreecommitdiff
path: root/builtin/fetch.c
diff options
context:
space:
mode:
authorDaniel Johnson <computerdruid@gmail.com>2010-08-11 18:57:20 -0400
committerJunio C Hamano <gitster@pobox.com>2010-08-14 19:24:23 -0700
commited36854651303dd18156786fc096de611f43912c (patch)
tree328e1ac5bedad23c32390e7e45199702040ff090 /builtin/fetch.c
parent64fdc08dac6694d1e754580e7acb82dfa4988bb9 (diff)
downloadgit-ed36854651303dd18156786fc096de611f43912c.tar.gz
git-ed36854651303dd18156786fc096de611f43912c.tar.xz
fetch: allow command line --tags to override config
Originally, if remote.<name>.tagopt was set, the --tags and option would have no effect when given to git fetch. So if tagopt="--no-tags" git fetch --tags would not actually fetch tags. This patch changes this behavior to only follow what is written in the config if there is no option passed by the command line. Signed-off-by: Daniel Johnson <ComputerDruid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/fetch.c')
-rw-r--r--builtin/fetch.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 6eb1dfea0..42554680f 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -675,10 +675,12 @@ static int do_fetch(struct transport *transport,
for_each_ref(add_existing, &existing_refs);
- if (transport->remote->fetch_tags == 2 && tags != TAGS_UNSET)
- tags = TAGS_SET;
- if (transport->remote->fetch_tags == -1)
- tags = TAGS_UNSET;
+ if (tags == TAGS_DEFAULT) {
+ if (transport->remote->fetch_tags == 2)
+ tags = TAGS_SET;
+ if (transport->remote->fetch_tags == -1)
+ tags = TAGS_UNSET;
+ }
if (!transport->get_refs_list || !transport->fetch)
die("Don't know how to fetch from %s", transport->url);