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>
This commit is contained in:

committed by
Junio C Hamano

parent
64fdc08dac
commit
ed36854651
@ -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);
|
||||
|
Reference in New Issue
Block a user