Subject: Re: [PATCH 1/2] doc: add an option to have Asciidoctor build man pages directly

From: Felipe Contreras <[email-masked]>
Date: Wed, 12 May 2021 14:29:57 -0500

Jeff King wrote:
> We seem to have a problem with some escape codes. E.g.:
> 
>   -           of nothing). The other file, git-add--interactive.perl, has 403
>   -           lines added and 35 lines deleted if you commit what is in the
>   -           index, but working tree file has further modifications (one
>   +           of nothing). The other file, git-add&#x2d;&#x2d;interactive.perl,
>   +           has 403 lines added and 35 lines deleted if you commit what is in
>   +           the index, but working tree file has further modifications (one
> 
> and:
> 
>   -           Added content is represented by lines beginning with "+". You can
>   -           prevent staging any addition lines by deleting them.
>   +           Added content is represented by lines beginning with "&#43;". You
>   +           can prevent staging any addition lines by deleting them.
> 
> which is a pretty bad regression.

Is it? At leat in my system both are rendered correctly.

> The trailer misses the version field:
> 
>   -Git omitted                       1970-01-01                        GIT-ADD(1)
>   +Git                               1970-01-01                        GIT-ADD(1)
> 
> The "omitted" is part of doc-diff's attempt to reduce noise in the
> diff. But you can see that it's missing entirely in the direct version.

This is indeed a limitation of asciidoctor: manversion is ignored.

I have a fix for that. I'll send it to the asciidoctor project.

> There are lots of whitespace changes for lists. They mostly seem fine
> either way. It also formats numbered lists differently:
> 
>   -            1. Delete the remote-tracking branches "todo", "html" and
>   +           (1) Delete the remote-tracking branches "todo", "html" and
>                   "man". The next fetch or pull will create them again
>                   unless you configure them not to. See git-fetch(1).
>   -            2. Delete the "test" branch even if the "master" branch (or
>   +           (2) Delete the "test" branch even if the "master" branch (or
>                   whichever branch is currently checked out) does not have
>                   all commits from the test branch.
> 
> I prefer the original, but could live with the latter (IIRC, this is
> something that can be configured via asciidoctor, but I didn't dig).

It is not a numbered list, it is a reference. I actually prefer the (n)
version.

> Links are a bit harder to read. E.g.:
> 
>    SEE ALSO
>           git-check-ref-format(1), git-fetch(1), git-remote(1), “Understanding
>   -       history: What is a branch?”[1] in the Git User’s Manual.
>   +       history: What is <user-manual.html#what-is-a-branch> a branch?”" in the
>   +       Git User’s Manual.

That indeed looks weird. I'm not exactly sure how to fix that properly.

-- 
Felipe Contreras