Message ID | pull.1304.git.git.1659387885711.gitgitgadget@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 94955d576b871f33c8f6863f3980c6107d348e47 |
Headers | show |
Series | Documentation/git-reflog: remove unneeded \ from \{ | expand |
"Glen Choo via GitGitGadget" <gitgitgadget@gmail.com> writes: > Fix this inconsistent rendering by removing the unnecessary "\" in > Documentation/git-reflog.txt. > > Signed-off-by: Glen Choo <chooglen@google.com> > --- > Documentation/git-reflog: remove unneeded \ from { > > I noticed this inconsistency as I was trying to build Git docs with > Google's internal build system. This string seems particularly > problematic e.g. you can see unnecessary "\" on > https://git-scm.com/docs/git-reflog#_description. > > I'm not proficient in asciidoc at all, but I suspect that this isn't > tied to the asciidoc version; I initially observed these differences in > environments with different versions of asciidoc (9.0.0 and 10.2.0) but > I can't reproduce this at all on my Mac using different versions of > asciidoc and asciidoctor from Homebrew. Perhaps the issue is in some > underlying library? Thanks. ref@\{specifier\} came from 552cecc2 (Teach "git reflog" a subcommand to delete single entries, 2007-10-17) but that is so distant past that the world must have changed too much that past experiences would not help all that much X-<. There are too many moving parts, older and more recent asciidoc, plus asciidoctor. Those who care about gitman.texi may also want to check the end result, as the toolchain there involves docbook, yet another moving part. Will queue. Thanks. > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1304%2Fchooglen%2Fdocumentation%2Fbackslash-brace-asciidoc-v1 > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1304/chooglen/documentation/backslash-brace-asciidoc-v1 > Pull-Request: https://github.com/git/git/pull/1304 > > Documentation/git-reflog.txt | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Documentation/git-reflog.txt b/Documentation/git-reflog.txt > index 5ced7ad4f8b..db9d46edfa9 100644 > --- a/Documentation/git-reflog.txt > +++ b/Documentation/git-reflog.txt > @@ -22,7 +22,7 @@ depending on the subcommand: > [--rewrite] [--updateref] [--stale-fix] > [--dry-run | -n] [--verbose] [--all [--single-worktree] | <refs>...] > 'git reflog delete' [--rewrite] [--updateref] > - [--dry-run | -n] [--verbose] <ref>@\{<specifier>\}... > + [--dry-run | -n] [--verbose] <ref>@{<specifier>}... > 'git reflog exists' <ref> > > Reference logs, or "reflogs", record when the tips of branches and > > base-commit: 23b219f8e3f2adfb0441e135f0a880e6124f766c
Hi Junio & Glen, On Mon, 1 Aug 2022, Junio C Hamano wrote: > "Glen Choo via GitGitGadget" <gitgitgadget@gmail.com> writes: > > > Fix this inconsistent rendering by removing the unnecessary "\" in > > Documentation/git-reflog.txt. > > > > Signed-off-by: Glen Choo <chooglen@google.com> > > --- > > Documentation/git-reflog: remove unneeded \ from { > > > > I noticed this inconsistency as I was trying to build Git docs with > > Google's internal build system. This string seems particularly > > problematic e.g. you can see unnecessary "\" on > > https://git-scm.com/docs/git-reflog#_description. > > > > I'm not proficient in asciidoc at all, but I suspect that this isn't > > tied to the asciidoc version; I initially observed these differences in > > environments with different versions of asciidoc (9.0.0 and 10.2.0) but > > I can't reproduce this at all on my Mac using different versions of > > asciidoc and asciidoctor from Homebrew. Perhaps the issue is in some > > underlying library? > > Thanks. ref@\{specifier\} came from 552cecc2 (Teach "git reflog" a > subcommand to delete single entries, 2007-10-17) but that is so > distant past that the world must have changed too much that past > experiences would not help all that much X-<. Oh wow, what a blast from the past. I indeed do not recall the specifics why I used that backslash, maybe it was needed back then. Or at least it did not hurt back then. Here's my ACK in any case, Dscho > There are too many moving parts, older and more recent asciidoc, plus > asciidoctor. > > Those who care about gitman.texi may also want to check the end > result, as the toolchain there involves docbook, yet another moving > part. > > Will queue. Thanks. > > > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1304%2Fchooglen%2Fdocumentation%2Fbackslash-brace-asciidoc-v1 > > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1304/chooglen/documentation/backslash-brace-asciidoc-v1 > > Pull-Request: https://github.com/git/git/pull/1304 > > > > Documentation/git-reflog.txt | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/Documentation/git-reflog.txt b/Documentation/git-reflog.txt > > index 5ced7ad4f8b..db9d46edfa9 100644 > > --- a/Documentation/git-reflog.txt > > +++ b/Documentation/git-reflog.txt > > @@ -22,7 +22,7 @@ depending on the subcommand: > > [--rewrite] [--updateref] [--stale-fix] > > [--dry-run | -n] [--verbose] [--all [--single-worktree] | <refs>...] > > 'git reflog delete' [--rewrite] [--updateref] > > - [--dry-run | -n] [--verbose] <ref>@\{<specifier>\}... > > + [--dry-run | -n] [--verbose] <ref>@{<specifier>}... > > 'git reflog exists' <ref> > > > > Reference logs, or "reflogs", record when the tips of branches and > > > > base-commit: 23b219f8e3f2adfb0441e135f0a880e6124f766c >
On Mon, Aug 1, 2022 at 4:04 PM Glen Choo via GitGitGadget <gitgitgadget@gmail.com> wrote: > > From: Glen Choo <chooglen@google.com> > > There are some inconsistencies with how different asciidoc environments > handle different combinations of "\{<>}", e.g. these results were > observed with asciidoc on two different environments: > > | Input | Output (env A) | Output (env B) | same/different | > |-----------+----------------+------------------+----------------| > | \{<foo>\} | {<foo>} | \{<foo>}^M | different | > | {<foo>} | {<foo>} | {<foo>} | same | > | \{<foo>} | {<foo>} | \{<foo>}^M | different | > | \{foo\} | {foo} | {foo} | same | > | \{\} | {} | \{}^M | different | > | \{} | {} | {} | same | > | {\} | {} | {} | same | > > The only instance of this biting us is "@\{<specifier>\}" in > Documentation/git-reflog.txt; all other combinations of "\{<>}" (e.g. in > Documentation/revisions.txt) seem to render consistently. So, I did some investigation. {} are used for attributes, if you do {manversion} that will be replaced by the manversion attribute (which we are setting), but if you do {foobar} (an attribute that doesn't exist) different implementations will do different things, what you should do is \{foobar} as that's how the documentation says you should escape attributes [1]. In 552cecc214 (Teach "git reflog" a subcommand to delete single entries, 2007-10-17) it was {specifier} which could have been an attribute and thus should be quoted, but in 49cbad0edd (doc: express grammar placeholders between angle brackets, 2021-11-06) it was changed to {<specifier>} and that apparently cannot be an attribute, so it should not be quoted. We shouldn't be using verses for this kind of stuff though, since we want the whole thing displayed as-is, it's better to use literal blocks [2], but that's a bigger change. For now it should be: @{<specifier>} So the patch is correct. ACK. Cheers. [1] https://docs.asciidoctor.org/asciidoc/latest/attributes/reference-attributes/ [2] https://docs.asciidoctor.org/asciidoc/latest/verbatim/literal-blocks/
Felipe Contreras <felipe.contreras@gmail.com> writes: > On Mon, Aug 1, 2022 at 4:04 PM Glen Choo via GitGitGadget > <gitgitgadget@gmail.com> wrote: >> >> From: Glen Choo <chooglen@google.com> >> >> There are some inconsistencies with how different asciidoc environments >> handle different combinations of "\{<>}", e.g. these results were >> observed with asciidoc on two different environments: >> >> | Input | Output (env A) | Output (env B) | same/different | >> |-----------+----------------+------------------+----------------| >> | \{<foo>\} | {<foo>} | \{<foo>}^M | different | >> | {<foo>} | {<foo>} | {<foo>} | same | >> | \{<foo>} | {<foo>} | \{<foo>}^M | different | >> | \{foo\} | {foo} | {foo} | same | >> | \{\} | {} | \{}^M | different | >> | \{} | {} | {} | same | >> | {\} | {} | {} | same | >> >> The only instance of this biting us is "@\{<specifier>\}" in >> Documentation/git-reflog.txt; all other combinations of "\{<>}" (e.g. in >> Documentation/revisions.txt) seem to render consistently. > > So, I did some investigation. {} are used for attributes, if you do > {manversion} that will be replaced by the manversion attribute (which > we are setting), but if you do {foobar} (an attribute that doesn't > exist) different implementations will do different things, what you > should do is \{foobar} as that's how the documentation says you should > escape attributes [1]. > > In 552cecc214 (Teach "git reflog" a subcommand to delete single > entries, 2007-10-17) it was {specifier} which could have been an > attribute and thus should be quoted, but in 49cbad0edd (doc: express > grammar placeholders between angle brackets, 2021-11-06) it was > changed to {<specifier>} and that apparently cannot be an attribute, > so it should not be quoted. Aha! Thanks! I'm glad that there's a satisfying explanation for all of this :) > > We shouldn't be using verses for this kind of stuff though, since we > want the whole thing displayed as-is, it's better to use literal > blocks [2], but that's a bigger change. > > For now it should be: > > @{<specifier>} > > So the patch is correct. ACK. > > Cheers. > > [1] https://docs.asciidoctor.org/asciidoc/latest/attributes/reference-attributes/ > [2] https://docs.asciidoctor.org/asciidoc/latest/verbatim/literal-blocks/ > > -- > Felipe Contreras
diff --git a/Documentation/git-reflog.txt b/Documentation/git-reflog.txt index 5ced7ad4f8b..db9d46edfa9 100644 --- a/Documentation/git-reflog.txt +++ b/Documentation/git-reflog.txt @@ -22,7 +22,7 @@ depending on the subcommand: [--rewrite] [--updateref] [--stale-fix] [--dry-run | -n] [--verbose] [--all [--single-worktree] | <refs>...] 'git reflog delete' [--rewrite] [--updateref] - [--dry-run | -n] [--verbose] <ref>@\{<specifier>\}... + [--dry-run | -n] [--verbose] <ref>@{<specifier>}... 'git reflog exists' <ref> Reference logs, or "reflogs", record when the tips of branches and