Work around asciidoctor handling of nested ` and *
In asciidoctor, the markup
`refs/heads/foo/*` for
[...]
`refs/heads/sandbox/${username}/*`. If you do,
renders as
<code>refs/heads/foo/<strong></code> for
[...]
<code>refs/heads/sandbox/${username}/</strong></code>. If you do,
which is problematic in a few ways:
- it is invalid HTML
- the asterisks are swallowed
- a section of unrelated text is made bold
Since asciidoc 8.4.1, by contrast, backticks introduce an inline literal
inside which markup is not interpreted (see git.git commit v1.7.10.3~16^2,
"docs: stop using asciidoc no-inline-literal", 2012-04-26). We can
emulate that behavior in asciidoctor by explicitly introducing inline
literal context using '+'.
https://github.com/asciidoctor/asciidoctor/issues/718 has more details.
Change-Id: Iab31e33f92929a1ce824919b1cdfc93aeb0581a9
diff --git a/Documentation/user-upload.txt b/Documentation/user-upload.txt
index 46aa535..de9a2fb 100644
--- a/Documentation/user-upload.txt
+++ b/Documentation/user-upload.txt
@@ -319,9 +319,9 @@
Gerrit restricts direct pushes that bypass review to:
-* `refs/heads/*`: any branch can be updated, created, deleted,
+* `+refs/heads/*+`: any branch can be updated, created, deleted,
or rewritten by the pusher.
-* `refs/tags/*`: annotated tag objects pointing to any other type
+* `+refs/tags/*+`: annotated tag objects pointing to any other type
of Git object can be created.
To push branches, the proper access rights must be configured first.
@@ -445,8 +445,8 @@
own process space, Gerrit maintains complete control over how the
repository is updated, and what responses are sent to the `git push`
client invoked by the end-user, or by `repo upload`. This allows
-Gerrit to provide magical refs, such as `refs/for/*` for new
-change submission and `refs/changes/*` for change replacement.
+Gerrit to provide magical refs, such as `+refs/for/*+` for new
+change submission and `+refs/changes/*+` for change replacement.
When a push request is received to create a ref in one of these
namespaces Gerrit performs its own logic to update the database,
and then lies to the client about the result of the operation.