Browse Source

Honor "tagopt = --tags" configuration option

If the "tagopt = --tags" option of a remote is set, all tags
will be fetched as in "git fetch --tags".

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Samuel Tardieu 15 years ago committed by Junio C Hamano
parent
commit
944163a4bd
  1. 4
      Documentation/config.txt
  2. 4
      contrib/examples/git-fetch.sh
  3. 2
      remote.c

4
Documentation/config.txt

@ -1578,7 +1578,9 @@ remote.<name>.uploadpack::


remote.<name>.tagopt:: remote.<name>.tagopt::
Setting this value to \--no-tags disables automatic tag following when Setting this value to \--no-tags disables automatic tag following when
fetching from remote <name> fetching from remote <name>. Setting it to \--tags will fetch every
tag from remote <name>, even if they are not reachable from remote
branch heads.


remote.<name>.vcs:: remote.<name>.vcs::
Setting this to a value <vcs> will cause git to interact with Setting this to a value <vcs> will cause git to interact with

4
contrib/examples/git-fetch.sh

@ -127,10 +127,12 @@ then
orig_head=$(git rev-parse --verify HEAD 2>/dev/null) orig_head=$(git rev-parse --verify HEAD 2>/dev/null)
fi fi


# Allow --notags from remote.$1.tagopt # Allow --tags/--notags from remote.$1.tagopt
case "$tags$no_tags" in case "$tags$no_tags" in
'') '')
case "$(git config --get "remote.$1.tagopt")" in case "$(git config --get "remote.$1.tagopt")" in
--tags)
tags=t ;;
--no-tags) --no-tags)
no_tags=t ;; no_tags=t ;;
esac esac

2
remote.c

@ -443,6 +443,8 @@ static int handle_config(const char *key, const char *value, void *cb)
} else if (!strcmp(subkey, ".tagopt")) { } else if (!strcmp(subkey, ".tagopt")) {
if (!strcmp(value, "--no-tags")) if (!strcmp(value, "--no-tags"))
remote->fetch_tags = -1; remote->fetch_tags = -1;
else if (!strcmp(value, "--tags"))
remote->fetch_tags = 2;
} else if (!strcmp(subkey, ".proxy")) { } else if (!strcmp(subkey, ".proxy")) {
return git_config_string((const char **)&remote->http_proxy, return git_config_string((const char **)&remote->http_proxy,
key, value); key, value);

Loading…
Cancel
Save