git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/3] asciidoctor-extensions.rb.in: delete existing <refmiscinfo/>

From
Patrick Steinhardt <ps@pks.im>
Date
Dec 21, 2024, 10:42 UTC
Message-ID
<Z2abqCTOHjIlRcxx@pks.im>
In-Reply-To
<8bdc26c1ae74b59f2c3cd3408111336ce3af1447.1734734612.git.martin.agren@gmail.com>
On Sat, Dec 21, 2024 at 12:18:16AM +0100, Martin Ågren wrote:
Show 12 quoted lines
> After the recent a38edab7c8 (Makefile: generate doc versions via
> GIT-VERSION-GEN, 2024-12-06), building with Asciidoctor results in
> manpages where the headers no longer contain "Git Manual" and the
> footers no longer identify the built Git version.
> 
> Before a38edab7c8, we used to just provide a few attributes to
> Asciidoctor (and asciidoc). Commit 7a30134358 (asciidoctor-extensions:
> provide `<refmiscinfo/>`, 2019-09-16) noted that older versions of
> Asciidoctor didn't propagate those attributes into the built XML files,
> so we started injecting them ourselves from this script. With newer
> versions of Asciidoctor, we'd end up with some harmless duplication
> among the tags in the final XML.

Okay. So if I understand correctly, we used to have the exact same values for those tags twice with newer versions of Asciidoctor, but starting with the change we have one "empty" set of tags and one set of tags that contain the replaced values. And because Asciidoctor ignores the latter the end result is that we have empty ref info.

Show 18 quoted lines
> Post-a38edab7c8, we don't provide these attributes and Asciidoctor
> inserts empty-ish values. After our additions from 7a30134358, we get
> 
>   <refmiscinfo class="source">&#160;</refmiscinfo>
>   <refmiscinfo class="manual">&#160;</refmiscinfo>
>   <refmiscinfo class="source">2.47.1.[...]</refmiscinfo>
>   <refmiscinfo class="manual">Git Manual</refmiscinfo>
> 
> When these are handled, it appears to be first come first served,
> meaning that our additions have no effect and we regress as described in
> the first paragraph.
> 
> Remove existing "source" or "manual" <refmiscinfo/> tags before adding
> ours. I considered removing all <refmiscinfo/> to get a nice clean
> slate, instead of just those two that we want to replace to be a bit
> more precise. I opted for the latter. Maybe one day, Asciidoctor learns
> to insert something useful there which `xmlto` can pick up and make good
> use of -- let's not interfere.
Okay, makes sense.
Show 18 quoted lines
> Signed-off-by: Martin Ågren <martin.agren@gmail.com>
> ---
>  Documentation/asciidoctor-extensions.rb.in | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/asciidoctor-extensions.rb.in b/Documentation/asciidoctor-extensions.rb.in
> index c4c200dace..d8d06f9a57 100644
> --- a/Documentation/asciidoctor-extensions.rb.in
> +++ b/Documentation/asciidoctor-extensions.rb.in
> @@ -29,6 +29,8 @@ module Git
>      class DocumentPostProcessor < Asciidoctor::Extensions::Postprocessor
>        def process document, output
>          if document.basebackend? 'docbook'
> +          output = output.sub(/<refmiscinfo class="source">.*?<\/refmiscinfo>/, "")
> +          output = output.sub(/<refmiscinfo class="manual">.*?<\/refmiscinfo>/, "")
>            new_tags = "" \
>              "<refmiscinfo class=\"source\">@GIT_VERSION@</refmiscinfo>\n" \
>              "<refmiscinfo class=\"manual\">Git Manual</refmiscinfo>\n"
And this looks as expected.
Patrick
Previous: Martin ÅgrenNext: Martin Ågren
Message 3 of 8 in “Asciidoctor fixes for 2.48.0”
  1. 0/3 Asciidoctor fixes for 2.48.0Martin Ågren, Dec 20, 2024
  2. 1/3 asciidoctor-extensions.rb.in: delete existing <refmiscinfo/>Martin Ågren, Dec 20, 2024
  3. Patrick SteinhardtDec 21, 2024
  4. 2/3 asciidoctor-extensions.rb.in: add missing wordMartin Ågren, Dec 20, 2024
  5. 3/3 asciidoctor-extensions.rb.in: inject GIT_DATEMartin Ågren, Dec 20, 2024
  6. Junio C HamanoDec 21, 2024
  7. Patrick SteinhardtDec 21, 2024
  8. Junio C HamanoDec 21, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.