Skip to content

Commit

Permalink
push: allow --follow-tags to be set by config push.followTags
Browse files Browse the repository at this point in the history
Signed-off-by: Dave Olszewski <cxreg@pobox.com>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Dave Olszewski authored and Junio C Hamano committed Mar 14, 2015
1 parent 06c21e1 commit a8bc269
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 1 deletion.
6 changes: 6 additions & 0 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
5 changes: 4 additions & 1 deletion Documentation/git-push.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 10 additions & 0 deletions builtin/push.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down
1 change: 1 addition & 0 deletions contrib/completion/git-completion.bash
Original file line number Diff line number Diff line change
Expand Up @@ -2188,6 +2188,7 @@ _git_config ()
pull.octopus
pull.twohead
push.default
push.followTags
rebase.autosquash
rebase.stat
receive.autogc
Expand Down

0 comments on commit a8bc269

Please sign in to comment.