Add tests for fast-forwarding a tag by push
Lightweight tags can be fast-forwarded if Push is assigned. Since
Push allows pushing tags for new commits, fast-forward also succeeds
if the tag is updated to a new commit.
To update an annotated tag git requires --force on push. Hence
annotated tags can only be updated if force Push is assigned.
Change-Id: I976f0174b1842003d37e437920d68307fa8ba05a
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/Documentation/access-control.txt b/Documentation/access-control.txt
index 65bcb8a..3d3cd40 100644
--- a/Documentation/access-control.txt
+++ b/Documentation/access-control.txt
@@ -468,7 +468,8 @@
`Create Reference` for reference name `+refs/tags/*+`, as lightweight
tags are implemented just like branches in Git. To push a lightweight
tag on a new commit (commit not reachable from any branch/tag) grant
-`Push` permission on `+refs/tags/*+` too.
+`Push` permission on `+refs/tags/*+` too. The `Push` permission on
+`+refs/tags/*+` also allows fast-forwarding of lightweight tags.
For example, to grant the possibility to create new branches under the
namespace `foo`, you have to grant this permission on
@@ -686,6 +687,8 @@
To push an annotated tag on a new commit (commit not reachable from any
branch/tag) grant `Push` permission on `+refs/tags/*+` too.
+The `Push` permission on `+refs/tags/*+` does *not* allow updating of annotated
+tags, not even fast-forwarding of annotated tags.
[[category_push_signed]]