branch: elpa/magit
commit bec296e8d7d524beabcb9f56d9befb3f8e4d29fb
Author: Jonas Bernoulli <jo...@bernoul.li>
Commit: Jonas Bernoulli <jo...@bernoul.li>

    magit-push: Add --follow-tags and --tags
    
    Previously users were expected to push tags explicitly either
    individually (using "T"/`magit-push-tag') or all at once (using
    "t"/`magit-push-tags').
    
    The goal of this design was to avoid pushing tags only intended for
    local use.  The actual result is that many users often forget to push
    tags.  The fact that the release tags of many Emacs packages lag
    behind the Package-Requires headers is a strong indication of that.
    
    Git provides a better mechanism to ensure "public" tags are always
    pushed:
    
    --follow-tags
        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. This can also be specified with configuration
        variable push.followTags. For more information, see push.followTags
        in git-config(1).
    
    To take full advantage of that, one should set `push.followTags' to
    true and then *always* annotate "public" tags and *never* annotate
    "private" tags.
    
    Of course not everyone knows that, so we stop short of enabling
    `--follow-tags' by default (but if you see this, I strongly recommend
    that you enable it locally).  Instead we make both `--follow-tags' and
    `--tags' *available* by default and use verbose descriptions that spell
    out the difference between the two.
---
 lisp/magit-push.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisp/magit-push.el b/lisp/magit-push.el
index 51bd4f3b39..ca90b62d4e 100644
--- a/lisp/magit-push.el
+++ b/lisp/magit-push.el
@@ -39,8 +39,9 @@
    ("-F" "Force"            ("-f" "--force"))
    ("-h" "Disable hooks"    "--no-verify")
    ("-n" "Dry run"          ("-n" "--dry-run"))
-   (5 "-u" "Set upstream"   "--set-upstream")
-   (7 "-t" "Follow tags"    "--follow-tags")]
+   ("-u" "Set upstream"   "--set-upstream" :level 5)
+   ("-T" "Include all tags" "--tags")
+   ("-t" "Include related annotated tags" "--follow-tags")]
   [:if magit-get-current-branch
    :description (lambda ()
                   (format (propertize "Push %s to" 'face 'transient-heading)

Reply via email to