summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Olszewski <cxreg@pobox.com>2015-02-16 01:16:19 -0500
committerJunio C Hamano <gitster@pobox.com>2015-03-14 15:08:35 -0700
commita8bc269f11b34e60f5fdbd8e831a654dd6b6b67e (patch)
tree619d895a2393bcbc8bdfe9a383af60d565086eb6
parent06c21e18abc9ae4647c79449a9b0a1554553ad03 (diff)
downloadgit-jk/push-config.tar.gz
push: allow --follow-tags to be set by config push.followTagsjk/push-config
Signed-off-by: Dave Olszewski <cxreg@pobox.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Documentation/config.txt6
-rw-r--r--Documentation/git-push.txt5
-rw-r--r--builtin/push.c10
-rw-r--r--contrib/completion/git-completion.bash1
4 files changed, 21 insertions, 1 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt
index ae6791db12..e01d21cda2 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -2079,6 +2079,12 @@ new default).
--
+push.followTags::
+ If set to true enable '--follow-tags' option by default. You
+ may override this configuration at time of push by specifying
+ '--no-follow-tags'.
+
+
rebase.stat::
Whether to show a diffstat of what changed upstream since the last
rebase. False by default.
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index ea9757692a..caa187be06 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -128,7 +128,10 @@ already exists on the remote side.
Push all the refs that would be pushed without this option,
and also push annotated tags in `refs/tags` that are missing
from the remote but are pointing at commit-ish that are
- reachable from the refs being pushed.
+ reachable from the refs being pushed. This can also be specified
+ with configuration variable 'push.followTags'. For more
+ information, see 'push.followTags' in linkgit:git-config[1].
+
--signed::
GPG-sign the push request to update refs on the receiving
diff --git a/builtin/push.c b/builtin/push.c
index bba22b86b9..57c138bd7b 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -473,11 +473,21 @@ static int option_parse_recurse_submodules(const struct option *opt,
static int git_push_config(const char *k, const char *v, void *cb)
{
+ int *flags = cb;
int status;
status = git_gpg_config(k, v, NULL);
if (status)
return status;
+
+ if (!strcmp(k, "push.followtags")) {
+ if (git_config_bool(k, v))
+ *flags |= TRANSPORT_PUSH_FOLLOW_TAGS;
+ else
+ *flags &= ~TRANSPORT_PUSH_FOLLOW_TAGS;
+ return 0;
+ }
+
return git_default_config(k, v, NULL);
}
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index c21190d751..cffb2b8d66 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2188,6 +2188,7 @@ _git_config ()
pull.octopus
pull.twohead
push.default
+ push.followTags
rebase.autosquash
rebase.stat
receive.autogc