git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: "SZEDER Gábor" <szeder.dev@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Eric Sunshine <sunshine@sunshineco.com>,
	Philippe Blain <levraiphilippeblain@gmail.com>,
	Derrick Stolee <stolee@gmail.com>, Taylor Blau <me@ttaylorr.com>,
	Jeff King <peff@peff.net>, Teng Long <dyroneteng@gmail.com>
Subject: Re: [PATCH v8 06/12] docs: move commit-graph format docs to man section 5
Date: Wed, 09 Nov 2022 02:34:03 +0100	[thread overview]
Message-ID: <221109.86bkpgriso.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <20221108212741.GC1731@szeder.dev>


On Tue, Nov 08 2022, SZEDER Gábor wrote:

> On Tue, Nov 08, 2022 at 08:16:49PM +0100, Ævar Arnfjörð Bjarmason wrote:
>> 
>> On Tue, Nov 08 2022, SZEDER Gábor wrote:
>> 
>> > On Thu, Aug 04, 2022 at 06:28:35PM +0200, Ævar Arnfjörð Bjarmason wrote:
>> >> Continue the move of existing Documentation/technical/* protocol and
>> >> file-format documentation into our main documentation space.
>> >> 
>> >> By moving the documentation for the commit-graph format into man
>> >> section 5 and the new "developerinterfaces" category. This change is
>> >> split from subsequent commits due to the relatively large amount of
>> >> ASCIIDOC formatting changes that are required.
>> >
>> > So after this series I got a couple of gitformat-* manpages, but,
>> > alas, most of them render improperly: a lot of paragraphs are for some
>> > reason fixed width even in a fullscreen terminal window, and their
>> > width is more than 80 chars, so they are rather awkward in a
>> > standard-width terminal.  This also affects the html version, where
>> > those paragraphs are rendered with a fixed-width font.
>> 
>> Do you have examples of that
>
> Here's the description of two chunks copy-pasted from 'man
> gitformat-commit-graph' in a full-screen terminal, the first being
> properly formatted (i.e. line length adjusted to the width of the
> terminal), the latter having fixed-width:
>
>        Generation Data Overflow (ID: {G, D, O, 2 }) [Optional]
>            •   This list of 8-byte values stores the corrected commit date offsets for commits with corrected commit date offsets that cannot be stored within 31 bits.
>
>            •   Generation Data Overflow chunk is present only when Generation Data chunk is present and atleast one corrected commit date offset cannot be stored within 31 bits.
>
>        Extra Edge List (ID: {E, D, G, E}) [Optional]
>                This list of 4-byte values store the second through nth parents for
>                all octopus merges. The second parent value in the commit data stores
>                an array position within this list along with the most-significant bit
>                on. Starting at that array position, iterate through this list of commit
>                positions for the parents until reaching a value with the most-significant
>                bit on. The other bits correspond to the position of the last parent.
>
> There are similar formating issues in 'gitformat-index' and
> 'gitformat-pack' as well.  I can see these both with AsciiDoc and
> Asciidoctor.

Yeah, they look pretty bad.

>> and are these cases where the formatting
>> was different before the move from Documentation/technical/*
>> 
>> I'm aware of e.g. gitformat-commit-graph(5) being somewhat funny, and
>> may have missed some cases, but I think that was also the case before...
>
> I'm not sure about "before", because 'make man' never built and
> installed these gitformat-* manpages before this series.

In the case of "gitformat-commit-graph" there was never a "html" version
of it before c0f6dd49f19 (Merge branch 'ab/tech-docs-to-help',
2022-08-14). But if you check out c0f6dd49f19^1 and:
	
	diff --git a/Documentation/Makefile b/Documentation/Makefile
	index 4f801f4e4c9..d7a066a68d0 100644
	--- a/Documentation/Makefile
	+++ b/Documentation/Makefile
	@@ -96,6 +96,7 @@ TECH_DOCS += SubmittingPatches
	 TECH_DOCS += ToolsForGit
	 TECH_DOCS += technical/bitmap-format
	 TECH_DOCS += technical/bundle-format
	+TECH_DOCS += technical/commit-graph-format
	 TECH_DOCS += technical/cruft-packs
	 TECH_DOCS += technical/hash-function-transition
	 TECH_DOCS += technical/http-protoco

Then "make html" you'll see what the formatting was like before. Here's
generated versions of those & git-scm.com's version for comparison:

	https://vm.nix.is/~avar/noindex/2022-11-09-gitdocs/commit-graph-format.html
	https://git-scm.com/docs/gitformat-commit-graph
        https://vm.nix.is/~avar/noindex/2022-11-09-gitdocs/index-format.html
	https://git-scm.com/docs/gitformat-index
        https://vm.nix.is/~avar/noindex/2022-11-09-gitdocs/pack-format.html
        https://git-scm.com/docs/gitformat-pack

They should obviously be fixed, but I left that out of scope of that
series. If it was a fix-syntax-nits-while-at-it it would have been a lot
longer, and some of it's in some pseudo-syntax that was never quite
valid markdown. E.g. commit-graph-format.txt tried to use link:* syntax
in block-quoted text.

What I found *mostly* worked was to use "==" for sections, which
e.g. for gitformat-commit-graph ends up formatting it nicely as long as
it's followed by a bullet-point list, but as you show with "This lits of
4-byte..." that doesn't do the trick when it's not a list, instead it
uses the literal formatting (which almost the entire body of the text
used before).

I think the most minimal way of fixing it is to de-indent the opening
line of those sections, e.g.:
	
	diff --git a/Documentation/gitformat-commit-graph.txt b/Documentation/gitformat-commit-graph.txt
	index 31cad585e23..84df4a3ed03 100644
	--- a/Documentation/gitformat-commit-graph.txt
	+++ b/Documentation/gitformat-commit-graph.txt
	@@ -67,17 +67,17 @@ All multi-byte numbers are in network byte order.
	 
	 === CHUNK LOOKUP:
	 
	-  (C + 1) * 12 bytes listing the table of contents for the chunks:
	+(C + 1) * 12 bytes listing the table of contents for the chunks:
	       First 4 bytes describe the chunk id. Value 0 is a terminating label.
	       Other 8 bytes provide the byte-offset in current file for chunk to
	       start. (Chunks are ordered contiguously in the file, so you can infer
	       the length using the next chunk position if necessary.) Each chunk
	       ID appears at most once.
	 
	-  The CHUNK LOOKUP matches the table of contents from
	+The CHUNK LOOKUP matches the table of contents from
	   the chunk-based file format, see linkgit:gitformat-chunk[5]
	 
	-  The remaining data in the body is described one chunk at a time, and
	+The remaining data in the body is described one chunk at a time, and
	   these chunks may be given in any order. Chunks are required unless
	   otherwise specified.
	 
	@@ -126,7 +126,7 @@ All multi-byte numbers are in network byte order.
	       be stored within 31 bits.
	 
	 ==== Extra Edge List (ID: {'E', 'D', 'G', 'E'}) [Optional]
	-      This list of 4-byte values store the second through nth parents for
	+This list of 4-byte values store the second through nth parents for
	       all octopus merges. The second parent value in the commit data stores
	       an array position within this list along with the most-significant bit
	       on. Starting at that array position, iterate through this list of commit
	
Seems to fix those "flow" issues for me, i.e. it's now a normal
paragraph, instead of a block-quoted fixed-width text.

  reply	other threads:[~2022-11-09  1:57 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-15  2:05 [PATCH 0/2] git(1) doc + "git help": split-out user & git format docs Ævar Arnfjörð Bjarmason
2021-10-15  2:05 ` [PATCH 1/2] git(1) docs: split "User-facing file formats" off from "Guides" Ævar Arnfjörð Bjarmason
2021-10-15  2:05 ` [PATCH 2/2] git(1) docs: create a "Git file and wire formats" section Ævar Arnfjörð Bjarmason
2021-12-12 19:49 ` [PATCH v2 0/5] git doc + "git help": move "format" docs from technical/* Ævar Arnfjörð Bjarmason
2021-12-12 19:49   ` [PATCH v2 1/5] git docs: split "User-facing file formats" off from "Guides" Ævar Arnfjörð Bjarmason
2021-12-12 19:49   ` [PATCH v2 2/5] git docs: create a "Git file and wire formats" section Ævar Arnfjörð Bjarmason
2021-12-12 22:30     ` Eric Sunshine
2021-12-13  9:33       ` Ævar Arnfjörð Bjarmason
2021-12-12 19:49   ` [PATCH v2 3/5] docs: move commit-graph format docs to man section 5 Ævar Arnfjörð Bjarmason
2021-12-12 19:49   ` [PATCH v2 4/5] docs: move protocol-related " Ævar Arnfjörð Bjarmason
2021-12-12 19:49   ` [PATCH v2 5/5] docs: move {index,signature,bitmap,chunk}-format " Ævar Arnfjörð Bjarmason
2022-07-12 20:06   ` [PATCH v3 0/7] git doc + "git help": move "format" docs from technical/* Ævar Arnfjörð Bjarmason
2022-07-12 20:06     ` [PATCH v3 1/7] git docs: split "User-facing file formats" off from "Guides" Ævar Arnfjörð Bjarmason
2022-07-13  1:09       ` Ævar Arnfjörð Bjarmason
2022-07-12 20:06     ` [PATCH v3 2/7] git docs: create a "Git file formats and protocols" section Ævar Arnfjörð Bjarmason
2022-07-12 20:06     ` [PATCH v3 3/7] docs: move commit-graph format docs to man section 5 Ævar Arnfjörð Bjarmason
2022-07-12 20:06     ` [PATCH v3 4/7] docs: move protocol-related " Ævar Arnfjörð Bjarmason
2022-07-12 20:07     ` [PATCH v3 5/7] docs: move pack format " Ævar Arnfjörð Bjarmason
2022-07-12 20:07     ` [PATCH v3 6/7] docs: move http-protocol " Ævar Arnfjörð Bjarmason
2022-07-12 20:07     ` [PATCH v3 7/7] docs: move multi-pack-index " Ævar Arnfjörð Bjarmason
2022-07-18 13:29     ` [PATCH v4 0/8] git doc + "git help": move "format" docs from technical/* Ævar Arnfjörð Bjarmason
2022-07-18 13:29       ` [PATCH v4 1/8] help.c: BUG() out if "help --guides" can't remove "git" prefixes Ævar Arnfjörð Bjarmason
2022-07-18 17:03         ` Junio C Hamano
2022-07-18 13:29       ` [PATCH v4 2/8] git docs: split "User-facing file formats" off from "Guides" Ævar Arnfjörð Bjarmason
2022-07-18 17:17         ` Junio C Hamano
2022-07-18 18:41           ` Ævar Arnfjörð Bjarmason
2022-07-19 23:21             ` Junio C Hamano
2022-07-21  7:02               ` Ævar Arnfjörð Bjarmason
2022-07-18 13:29       ` [PATCH v4 3/8] git docs: create a "Git file formats and protocols" section Ævar Arnfjörð Bjarmason
2022-07-18 13:29       ` [PATCH v4 4/8] docs: move commit-graph format docs to man section 5 Ævar Arnfjörð Bjarmason
2022-07-18 13:29       ` [PATCH v4 5/8] docs: move protocol-related " Ævar Arnfjörð Bjarmason
2022-07-18 13:29       ` [PATCH v4 6/8] docs: move pack format " Ævar Arnfjörð Bjarmason
2022-07-18 13:29       ` [PATCH v4 7/8] docs: move http-protocol " Ævar Arnfjörð Bjarmason
2022-07-18 13:29       ` [PATCH v4 8/8] docs: move multi-pack-index " Ævar Arnfjörð Bjarmason
2022-07-18 16:54       ` [PATCH v4 0/8] git doc + "git help": move "format" docs from technical/* Junio C Hamano
2022-07-18 17:58         ` Ævar Arnfjörð Bjarmason
2022-07-21  7:12           ` Ævar Arnfjörð Bjarmason
2022-07-21 16:13       ` [PATCH v5 0/9] docs: create & use "(user|developer) interfaces" categories Ævar Arnfjörð Bjarmason
2022-07-21 16:13         ` [PATCH v5 1/9] help.c: BUG() out if "help --guides" can't remove "git" prefixes Ævar Arnfjörð Bjarmason
2022-07-21 16:13         ` [PATCH v5 2/9] git help doc: use "<doc>" instead of "<guide>" Ævar Arnfjörð Bjarmason
2022-07-21 16:13         ` [PATCH v5 3/9] git docs: add a category for user-facing file, repo and command UX Ævar Arnfjörð Bjarmason
2022-07-21 16:13         ` [PATCH v5 4/9] git docs: add a category for file formats, protocols and interfaces Ævar Arnfjörð Bjarmason
2022-07-21 17:31           ` Eric Sunshine
2022-07-21 16:13         ` [PATCH v5 5/9] docs: move commit-graph format docs to man section 5 Ævar Arnfjörð Bjarmason
2022-07-21 16:13         ` [PATCH v5 6/9] docs: move protocol-related " Ævar Arnfjörð Bjarmason
2022-07-21 16:13         ` [PATCH v5 7/9] docs: move pack format " Ævar Arnfjörð Bjarmason
2022-07-21 16:13         ` [PATCH v5 8/9] docs: move http-protocol " Ævar Arnfjörð Bjarmason
2022-07-21 16:13         ` [PATCH v5 9/9] docs: move multi-pack-index " Ævar Arnfjörð Bjarmason
2022-07-21 18:13         ` [PATCH v5 0/9] docs: create & use "(user|developer) interfaces" categories Junio C Hamano
2022-07-28 16:46         ` [PATCH v6 " Ævar Arnfjörð Bjarmason
2022-07-28 16:46           ` [PATCH v6 1/9] help.c: BUG() out if "help --guides" can't remove "git" prefixes Ævar Arnfjörð Bjarmason
2022-07-30  0:17             ` Junio C Hamano
2022-08-01 11:55               ` Ævar Arnfjörð Bjarmason
2022-08-01 16:45                 ` Junio C Hamano
2022-07-28 16:46           ` [PATCH v6 2/9] git help doc: use "<doc>" instead of "<guide>" Ævar Arnfjörð Bjarmason
2022-07-28 16:46           ` [PATCH v6 3/9] git docs: add a category for user-facing file, repo and command UX Ævar Arnfjörð Bjarmason
2022-07-28 16:46           ` [PATCH v6 4/9] git docs: add a category for file formats, protocols and interfaces Ævar Arnfjörð Bjarmason
2022-07-28 16:46           ` [PATCH v6 5/9] docs: move commit-graph format docs to man section 5 Ævar Arnfjörð Bjarmason
2022-07-28 16:46           ` [PATCH v6 6/9] docs: move protocol-related " Ævar Arnfjörð Bjarmason
2022-07-28 16:46           ` [PATCH v6 7/9] docs: move pack format " Ævar Arnfjörð Bjarmason
2022-07-28 16:46           ` [PATCH v6 8/9] docs: move http-protocol " Ævar Arnfjörð Bjarmason
2022-07-28 16:46           ` [PATCH v6 9/9] docs: move multi-pack-index " Ævar Arnfjörð Bjarmason
2022-07-28 20:40           ` [PATCH v6 0/9] docs: create & use "(user|developer) interfaces" categories Junio C Hamano
2022-08-02 12:56           ` [PATCH v7 00/10] " Ævar Arnfjörð Bjarmason
2022-08-02 12:56             ` [PATCH v7 01/10] help.c: refactor drop_prefix() to use a "switch" statement" Ævar Arnfjörð Bjarmason
2022-08-02 23:01               ` Junio C Hamano
2022-08-02 12:56             ` [PATCH v7 02/10] help.c: remove common category behavior from drop_prefix() behavior Ævar Arnfjörð Bjarmason
2022-08-02 12:56             ` [PATCH v7 03/10] git help doc: use "<doc>" instead of "<guide>" Ævar Arnfjörð Bjarmason
2022-08-02 12:56             ` [PATCH v7 04/10] git docs: add a category for user-facing file, repo and command UX Ævar Arnfjörð Bjarmason
2022-08-02 12:56             ` [PATCH v7 05/10] git docs: add a category for file formats, protocols and interfaces Ævar Arnfjörð Bjarmason
2022-08-02 23:08               ` Junio C Hamano
2022-08-02 12:56             ` [PATCH v7 06/10] docs: move commit-graph format docs to man section 5 Ævar Arnfjörð Bjarmason
2022-08-03 15:48               ` Junio C Hamano
2022-08-02 12:56             ` [PATCH v7 07/10] docs: move protocol-related " Ævar Arnfjörð Bjarmason
2022-08-03 15:53               ` Junio C Hamano
2022-08-04 16:29                 ` Ævar Arnfjörð Bjarmason
2022-08-04 19:30                   ` Junio C Hamano
2022-08-05  8:36                     ` Ævar Arnfjörð Bjarmason
2022-08-02 12:56             ` [PATCH v7 08/10] docs: move pack format " Ævar Arnfjörð Bjarmason
2022-08-03 16:25               ` Junio C Hamano
2022-08-02 12:56             ` [PATCH v7 09/10] docs: move http-protocol " Ævar Arnfjörð Bjarmason
2022-08-03 16:31               ` Junio C Hamano
2022-08-02 12:56             ` [PATCH v7 10/10] docs: move multi-pack-index " Ævar Arnfjörð Bjarmason
2022-08-03 16:37               ` Junio C Hamano
2022-08-04 16:28             ` [PATCH v8 00/12] docs: create & use "(user|developer) interfaces" categories Ævar Arnfjörð Bjarmason
2022-08-04 16:28               ` [PATCH v8 01/12] help.c: refactor drop_prefix() to use a "switch" statement" Ævar Arnfjörð Bjarmason
2022-08-04 21:16                 ` Junio C Hamano
2022-08-04 16:28               ` [PATCH v8 02/12] help.c: remove common category behavior from drop_prefix() behavior Ævar Arnfjörð Bjarmason
2022-08-04 16:28               ` [PATCH v8 03/12] git help doc: use "<doc>" instead of "<guide>" Ævar Arnfjörð Bjarmason
2022-08-04 16:28               ` [PATCH v8 04/12] git docs: add a category for user-facing file, repo and command UX Ævar Arnfjörð Bjarmason
2022-08-04 16:28               ` [PATCH v8 05/12] git docs: add a category for file formats, protocols and interfaces Ævar Arnfjörð Bjarmason
2022-08-04 16:28               ` [PATCH v8 06/12] docs: move commit-graph format docs to man section 5 Ævar Arnfjörð Bjarmason
2022-08-04 21:18                 ` Junio C Hamano
2022-11-08 18:04                 ` SZEDER Gábor
2022-11-08 19:16                   ` Ævar Arnfjörð Bjarmason
2022-11-08 21:27                     ` SZEDER Gábor
2022-11-09  1:34                       ` Ævar Arnfjörð Bjarmason [this message]
2022-11-21 14:15                         ` [PATCH] docs: de-indent first paragraph of gitformat-* to flow the text Ævar Arnfjörð Bjarmason
2022-11-21 17:59                           ` Jeff King
2022-11-22  0:36                           ` Junio C Hamano
2022-08-04 16:28               ` [PATCH v8 07/12] docs: move protocol-related docs to man section 5 Ævar Arnfjörð Bjarmason
2022-08-04 16:28               ` [PATCH v8 08/12] docs: move index format " Ævar Arnfjörð Bjarmason
2022-08-04 21:24                 ` Junio C Hamano
2022-08-04 16:28               ` [PATCH v8 09/12] docs: move signature " Ævar Arnfjörð Bjarmason
2022-08-04 21:25                 ` Junio C Hamano
2022-08-04 16:28               ` [PATCH v8 10/12] docs: move pack format " Ævar Arnfjörð Bjarmason
2022-08-04 16:28               ` [PATCH v8 11/12] docs: move cruft pack docs to gitformat-pack Ævar Arnfjörð Bjarmason
2022-08-04 21:34                 ` Junio C Hamano
2022-08-05  8:29                   ` Ævar Arnfjörð Bjarmason
2022-08-05 16:12                     ` Junio C Hamano
2022-08-04 16:28               ` [PATCH v8 12/12] docs: move http-protocol docs to man section 5 Ævar Arnfjörð Bjarmason
2022-08-04 21:36               ` [PATCH v8 00/12] docs: create & use "(user|developer) interfaces" categories Junio C Hamano

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=221109.86bkpgriso.gmgdl@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=dyroneteng@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=levraiphilippeblain@gmail.com \
    --cc=me@ttaylorr.com \
    --cc=peff@peff.net \
    --cc=stolee@gmail.com \
    --cc=sunshine@sunshineco.com \
    --cc=szeder.dev@gmail.com \
    /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).