Re: [PATCH 1/2] doc: add an option to have Asciidoctor build man pages directly
- From
Jeff King <peff@peff.net>
- Date
- May 12, 2021, 06:30 UTC
- Message-ID
- <YJt1/DO1cXNTRNxK@coredump.intra.peff.net>
- In-Reply-To
- <YJt0Dv7HP2VnLLwv@coredump.intra.peff.net>
On Wed, May 12, 2021 at 02:22:06AM -0400, Jeff King wrote:
> With that change, plus a patch I'll send in a minute, it's easy to run > doc-diff on the result.
And here that is (note that if you don't apply the flags fix I showed, then doc-diff gets confused, because it expects back-to-back runs of "make" to handle the changed flags correctly).
Feel free to add it to your series if it helps (I had originally thought it would just be a one-off to look at the output, but there are enough changes, both correctness and style, that it may be useful to have this option around).
-- >8 -- Subject: [PATCH] doc-diff: support --asciidoctor-direct mode
The new option enables both asciidoctor as well as its direct-to-manpage mode that skips xmlto. This lets you view the rendered difference between the two pipelines with something like:
./doc-diff --from-asciidoctor --to-asciidoctor-direct HEAD HEAD
Note that we have to add quotes when passing around $makemanflags, as it now may contain whitespace due to multiple arguments (but the deference inside render_tree must remain unquoted, because it wants to perform whitespace splitting to get the individual arguments back).
Signed-off-by: Jeff King <peff@peff.net> --- Documentation/doc-diff | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/Documentation/doc-diff b/Documentation/doc-diff index 1694300e50..2c774ee954 100755 --- a/Documentation/doc-diff +++ b/Documentation/doc-diff @@ -17,10 +17,13 @@ f force rebuild; do not rely on cached results c,clean cleanup temporary working files from-asciidoc use asciidoc with the 'from'-commit from-asciidoctor use asciidoctor with the 'from'-commit +from-asciidoctor-direct use asciidoctor without xmlto for 'from'-commit asciidoc use asciidoc with both commits to-asciidoc use asciidoc with the 'to'-commit to-asciidoctor use asciidoctor with the 'to'-commit +to-asciidoctor-direct use asciidoctor without xmlto for 'to'-commit asciidoctor use asciidoctor with both commits +asciidoctor-direct use asciidoctor without xml for both commits cut-footer cut away footer " SUBDIRECTORY_OK=1 @@ -55,6 +58,13 @@ do --asciidoc) from_program=-asciidoc to_program=-asciidoc ;; + --from-asciidoctor-direct) + from_program=-asciidoctor-direct ;; + --to-asciidoctor-direct) + to_program=-asciidoctor-direct ;; + --asciidoctor-direct) + from_program=-asciidoctor-direct + to_program=-asciidoctor-direct ;; --cut-footer) cut_footer=-cut-footer ;; --) @@ -112,6 +122,10 @@ construct_makemanflags () { elif test "$1" = "-asciidoctor" then echo USE_ASCIIDOCTOR=YesPlease + elif test "$1" = "-asciidoctor-direct" + then + echo USE_ASCIIDOCTOR=YesPlease + echo USE_ASCIIDOCTOR_MANPAGE=YesPlease fi } @@ -181,6 +195,6 @@ render_tree () { fi } -render_tree $from_oid $from_dir $from_makemanflags && -render_tree $to_oid $to_dir $to_makemanflags && +render_tree $from_oid $from_dir "$from_makemanflags" && +render_tree $to_oid $to_dir "$to_makemanflags" && git -C $tmp/rendered diff --no-index "$@" $from_dir $to_dir
-- 2.31.1.1027.g87a751368c