git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: git@vger.kernel.org, "Martin Ågren" <martin.agren@gmail.com>,
	"Bagas Sanjaya" <bagasdotme@gmail.com>,
	"Jeff King" <peff@peff.net>
Subject: Re: [PATCH v2 1/2] doc: add an option to have Asciidoctor build man pages directly
Date: Fri, 14 May 2021 20:17:02 +0000	[thread overview]
Message-ID: <YJ7avgek24eu+HHM@camp.crustytoothpaste.net> (raw)
In-Reply-To: <609ed529e2306_431272087@natae.notmuch>

[-- Attachment #1: Type: text/plain, Size: 5004 bytes --]

On 2021-05-14 at 19:53:13, Felipe Contreras wrote:
> brian m. carlson wrote:
> > Asciidoctor contains a converter to generate man pages.  In some
> > environments, where building only the manual pages and not the other
> > documentation is desired, installing a toolchain for building
> > DocBook-based manual pages may be burdensome, and using Asciidoctor
> > directly may be easier, so let's add an option to build manual pages
> > using Asciidoctor without the DocBook toolchain.
> > 
> > We generally require Asciidoctor 1.5, but versions before 1.5.3 didn't
> > contain proper handling of the apostrophe, which is controlled normally
> > by the GNU_ROFF option.  This option for the DocBook toolchain, as well
> > as newer versions of Asciidoctor, makes groff output an ASCII apostrophe
> > instead of a Unicode apostrophe in text, so as to make copy and pasting
> > commands easier.  These newer versions of Asciidoctor (1.5.3 and above)
> > detect groff and do the right thing in all cases, so the GNU_ROFF option
> > is obsolete in this case.
> 
> I don't see what that paragraph has to do with the patch below.

It's relevant because it explains why it's acceptable to discount that
feature that we're not supporting as part of the patch.

> > We also need to update the code that tells Asciidoctor how to format our
> > linkgit macros so that it can output proper code for man pages.
> 
> Yes, but why shove it in this patch? Now this is is doing *two*
> logically-independent changes.

This is one logical change: implementing Asciidoctor native support for
man pages.

> > Be careful to reset the font to the previous after the change.
> 
> This is a third change, since the current man pages already don't do
> this:
> 
>   % zcat /usr/share/man/man1/git-add.1.gz | grep '\fB'
>   you must use the \fBadd\fR command

As explained downthread, we don't know in the manual pages what font
styling we're in.  troff has font-change commands, not nesting begin-end
pairs, for italics and bold.  If the linkgit macro appears in the middle
of a passage in italics, by not using \fP, we'll force the rest of the
text which is to be italicized into roman.

The toolchain, whether Asciidoctor or the XSLT stylesheets, _does_ have
this context and therefore can explicitly move between bold and roman,
but our extensions do not.

> > We insert \e before each font-change backslash so Asciidoctor doesn't
> > convert them into \*(rs, the reverse solidus character, and instead
> > leaves them as we wanted them.
> 
> Right. So my patch was correct: it is neecessary.

Yes, I agree that it's necessary.  As I stated downthread, it appears my
branch was in a broken state.

> > Additionally, we don't want to use XML-style escapes for the litdd and
> > plus macros, so let's only use the XML-style escapes in HTML and XML and
> > use something different for our man pages.
> 
> That's a fourth change now, and one that complicates the Makefile even
> more, when I've been trying to simplify it.

I'm sorry that this complicates work you'd like to do, but
unfortunately, the other option is broken rendering.

> > If users are using a more modern toolchain or don't care
> > about the rendering issues, they can enable the option.
> 
> What rendering issues?

They were mentioned upthread.

> Also, the many should not suffer because of the few.
> 
> If a few people doing USE_ASCIIDOCTOR=YesPlease have issues (because of
> ancient packages in their distribution, and their reluctance to type
> `gem install`), then *they* can disable USE_ASCIIDOCTOR_MANPAGE (or just
> disable USE_ASCIIDOCTOR altogether). Most people doing
> USE_ASCIIDOCTOR=YesPlease should not suffer because of a
> minority.

I don't believe we're going to agree on this.  I believe we should
choose defaults that work with the most popular Linux distributions, and
you don't.  I think your approach is unnecessarily hostile to ordinary
users and developers and understates the value that people derive from
distributions.

> > Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
> 
> I most definitely do not sign off this.

This sign-off is not an approval of the patch.  This is the statement
that this patch is based on your work which is subject to the license
specified in the file and that you agreed that your original
contribution (now modified) could be distributed with your sign-off.  In
no portion of the DCO does it state that a sign-off means you think the
patch is a good idea or that you approve of it in any way.

I do want to be clear that I'm aware you don't approve of this patch and
that's why I submitted a counterproposal: because I don't approve of
your patch and you seem unwilling to make changes to it.  I would love
nothing more than to remove your name from it entirely, but
unfortunately, that's not possible with the DCO.
-- 
brian m. carlson (he/him or they/them)
Houston, Texas, US

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 262 bytes --]

  reply	other threads:[~2021-05-14 20:17 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-11 22:27 [PATCH] doc: use asciidoctor to build man pages directly Felipe Contreras
2021-05-11 23:26 ` brian m. carlson
2021-05-12  0:58   ` Felipe Contreras
2021-05-12  2:11     ` [PATCH 1/2] doc: add an option to have Asciidoctor " brian m. carlson
2021-05-12  2:11       ` [PATCH 2/2] doc: remove GNU_ROFF option brian m. carlson
2021-05-12  2:18         ` Eric Sunshine
2021-05-12  2:28           ` brian m. carlson
2021-05-12  4:45         ` Felipe Contreras
2021-05-14  0:11           ` brian m. carlson
2021-05-15 13:30             ` Felipe Contreras
2021-05-13 13:11         ` Martin Ågren
2021-05-12  2:48       ` [PATCH 1/2] doc: add an option to have Asciidoctor build man pages directly Bagas Sanjaya
2021-05-12  5:03         ` Felipe Contreras
2021-05-13 23:24         ` brian m. carlson
2021-05-14 12:58           ` Felipe Contreras
2021-05-15 13:25           ` Felipe Contreras
2021-05-12  4:41       ` Felipe Contreras
2021-05-13 23:38         ` brian m. carlson
2021-05-14 19:02           ` Felipe Contreras
2021-05-12  4:43       ` Bagas Sanjaya
2021-05-13 23:54         ` brian m. carlson
2021-05-12  6:22       ` Jeff King
2021-05-12  6:30         ` Jeff King
2021-05-12  6:59           ` Jeff King
2021-05-12 19:29             ` Felipe Contreras
2021-05-13 17:30             ` Martin Ågren
2021-05-13 22:37               ` Felipe Contreras
2021-05-12 19:53           ` Eric Sunshine
2021-05-12 22:37             ` Jeff King
2021-05-14 15:34           ` Martin Ågren
2021-05-14  0:31     ` [PATCH v2 0/2] Asciidoctor native manpage builds brian m. carlson
2021-05-14  0:31       ` [PATCH v2 1/2] doc: add an option to have Asciidoctor build man pages directly brian m. carlson
2021-05-14  3:58         ` Junio C Hamano
2021-05-14  5:27           ` Jeff King
2021-05-14 20:00             ` Felipe Contreras
2021-05-14 19:55           ` brian m. carlson
2021-05-14 20:52             ` Felipe Contreras
2021-05-14 19:57           ` Felipe Contreras
2021-05-14 19:53         ` Felipe Contreras
2021-05-14 20:17           ` brian m. carlson [this message]
2021-05-14 23:31             ` Felipe Contreras
2021-05-14  0:31       ` [PATCH v2 2/2] doc: remove GNU_ROFF option brian m. carlson
2021-05-14 19:07       ` [PATCH v2 0/2] Asciidoctor native manpage builds Felipe Contreras
2021-05-14 20:00         ` brian m. carlson
2021-05-14 21:21           ` Felipe Contreras

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YJ7avgek24eu+HHM@camp.crustytoothpaste.net \
    --to=sandals@crustytoothpaste.net \
    --cc=bagasdotme@gmail.com \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=martin.agren@gmail.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).