From: "Jean-Noël Avila via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Jean-Noël Avila" <jn.avila@free.fr>,
"Jean-Noël Avila" <jn.avila@free.fr>
Subject: [PATCH 3/6] doc: check for absence of multiple terms in each entry of desc list
Date: Tue, 05 Aug 2025 13:03:50 +0000 [thread overview]
Message-ID: <5806390052b7a7cbdb8dc843bfcc24102604e2f6.1754399033.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1945.git.1754399033.gitgitgadget@gmail.com>
From: =?UTF-8?q?Jean-No=C3=ABl=20Avila?= <jn.avila@free.fr>
Due to portability issues, the script generate-configlist.sh was fixed to
not use carriage returns in the output. However, the result is that it no
longer correctly handles multiple terms in a single entry of the definition
list.
We now check that these entries do not exist in the documentation.
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
---
Documentation/Makefile | 10 +++++++++
Documentation/git-check-attr.adoc | 3 ++-
Documentation/git-check-ignore.adoc | 9 +++++---
Documentation/git-http-fetch.adoc | 4 +++-
Documentation/lint-documentation-style.perl | 24 +++++++++++++++++++++
Documentation/technical/api-path-walk.adoc | 5 ++++-
shared.mak | 1 +
7 files changed, 50 insertions(+), 6 deletions(-)
create mode 100755 Documentation/lint-documentation-style.perl
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 76a9e1d02b26..ac8a21e3015c 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -508,6 +508,15 @@ $(LINT_DOCS_DELIMITED_SECTIONS): .build/lint-docs/delimited-sections/%.ok: %.ado
.PHONY: lint-docs-delimited-sections
lint-docs-delimited-sections: $(LINT_DOCS_DELIMITED_SECTIONS)
+## Lint: Documentation style
+LINT_DOCS_DOC_STYLE = $(patsubst %.adoc,.build/lint-docs/doc-style/%.ok,$(MAN_TXT))
+$(LINT_DOCS_DOC_STYLE): lint-documentation-style.perl
+$(LINT_DOCS_DOC_STYLE): .build/lint-docs/doc-style/%.ok: %.adoc
+ $(call mkdir_p_parent_template)
+ $(QUIET_LINT_DOCSTYLE)$(PERL_PATH) lint-documentation-style.perl $< >$@
+.PHONY: lint-docs-doc-style
+lint-docs-doc-style: $(LINT_DOCS_DOC_STYLE)
+
lint-docs-manpages:
$(QUIET_GEN)./lint-manpages.sh
@@ -537,6 +546,7 @@ lint-docs: lint-docs-gitlink
lint-docs: lint-docs-man-end-blurb
lint-docs: lint-docs-man-section-order
lint-docs: lint-docs-delimited-sections
+lint-docs: lint-docs-doc-style
lint-docs: lint-docs-manpages
lint-docs: lint-docs-meson
diff --git a/Documentation/git-check-attr.adoc b/Documentation/git-check-attr.adoc
index 503b6446574d..15a37a38e3f7 100644
--- a/Documentation/git-check-attr.adoc
+++ b/Documentation/git-check-attr.adoc
@@ -19,7 +19,8 @@ For every pathname, this command will list if each attribute is 'unspecified',
OPTIONS
-------
--a, --all::
+-a::
+--all::
List all attributes that are associated with the specified
paths. If this option is used, then 'unspecified' attributes
will not be included in the output.
diff --git a/Documentation/git-check-ignore.adoc b/Documentation/git-check-ignore.adoc
index 3e3b4e344629..a6c6c1b6e5be 100644
--- a/Documentation/git-check-ignore.adoc
+++ b/Documentation/git-check-ignore.adoc
@@ -25,11 +25,13 @@ subject to exclude rules; but see `--no-index'.
OPTIONS
-------
--q, --quiet::
+-q::
+--quiet::
Don't output anything, just set exit status. This is only
valid with a single pathname.
--v, --verbose::
+-v::
+--verbose::
Instead of printing the paths that are excluded, for each path
that matches an exclude pattern, print the exclude pattern
together with the path. (Matching an exclude pattern usually
@@ -49,7 +51,8 @@ linkgit:gitignore[5].
below). If `--stdin` is also given, input paths are separated
with a NUL character instead of a linefeed character.
--n, --non-matching::
+-n::
+--non-matching::
Show given paths which don't match any pattern. This only
makes sense when `--verbose` is enabled, otherwise it would
not be possible to distinguish between paths which match a
diff --git a/Documentation/git-http-fetch.adoc b/Documentation/git-http-fetch.adoc
index 4ec7c68d3b9e..dcb05890aefd 100644
--- a/Documentation/git-http-fetch.adoc
+++ b/Documentation/git-http-fetch.adoc
@@ -25,8 +25,10 @@ commit-id::
Either the hash or the filename under [URL]/refs/ to
pull.
--a, -c, -t::
+-a::-c::
+-t::
These options are ignored for historical reasons.
+
-v::
Report what is downloaded.
diff --git a/Documentation/lint-documentation-style.perl b/Documentation/lint-documentation-style.perl
new file mode 100755
index 000000000000..1f35a6a116da
--- /dev/null
+++ b/Documentation/lint-documentation-style.perl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+my $exit_code = 0;
+sub report {
+ my ($line, $msg) = @_;
+ chomp $line;
+ print STDERR "$ARGV:$.: '$line' $msg\n";
+ $exit_code = 1;
+}
+
+my $synopsis_style = 0;
+
+while (my $line = <>) {
+ if ($line =~ /^[ \t]*`?[-a-z0-9.]+`?(, `?[-a-z0-9.]+`?)+(::|;;)$/) {
+
+ report($line, "multiple parameters in a definition list item");
+ }
+}
+
+
+exit $exit_code;
diff --git a/Documentation/technical/api-path-walk.adoc b/Documentation/technical/api-path-walk.adoc
index 34c905eb9c31..a67de1b143ab 100644
--- a/Documentation/technical/api-path-walk.adoc
+++ b/Documentation/technical/api-path-walk.adoc
@@ -39,7 +39,10 @@ It is also important that you do not specify the `--objects` flag for the
the objects will be walked in a separate way based on those starting
commits.
-`commits`, `blobs`, `trees`, `tags`::
+`commits`::
+`blobs`::
+`trees`::
+`tags`::
By default, these members are enabled and signal that the path-walk
API should call the `path_fn` on objects of these types. Specialized
applications could disable some options to make it simpler to walk
diff --git a/shared.mak b/shared.mak
index 57095d6cf96c..5c7bc9478544 100644
--- a/shared.mak
+++ b/shared.mak
@@ -89,6 +89,7 @@ ifndef V
QUIET_LINT_GITLINK = @echo ' ' LINT GITLINK $<;
QUIET_LINT_MANSEC = @echo ' ' LINT MAN SEC $<;
QUIET_LINT_DELIMSEC = @echo ' ' LINT DEL SEC $<;
+ QUIET_LINT_DOCSTYLE = @echo ' ' LINT DOCSTYLE $<;
QUIET_LINT_MANEND = @echo ' ' LINT MAN END $<;
export V
--
gitgitgadget
next prev parent reply other threads:[~2025-08-05 13:04 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-05 13:03 [PATCH 0/6] Introduce more doc linting Jean-Noël Avila via GitGitGadget
2025-08-05 13:03 ` [PATCH 1/6] doc: test linkgit macros for well-formedness Jean-Noël Avila via GitGitGadget
2025-08-05 13:03 ` [PATCH 2/6] doc: check well-formedness of delimited sections Jean-Noël Avila via GitGitGadget
2025-08-05 13:03 ` Jean-Noël Avila via GitGitGadget [this message]
2025-08-05 13:03 ` [PATCH 4/6] doc: check for absence of the form --[no-]parameter Jean-Noël Avila via GitGitGadget
2025-08-05 13:03 ` [PATCH 5/6] doc:git-for-each-ref: fix styling and typos Jean-Noël Avila via GitGitGadget
2025-08-05 13:03 ` [PATCH 6/6] doc lint: check that synopsis manpages have synopsis inlines Jean-Noël Avila via GitGitGadget
2025-08-05 16:56 ` [PATCH 0/6] Introduce more doc linting Junio C Hamano
2025-08-05 19:10 ` [PATCH v2 " Jean-Noël Avila via GitGitGadget
2025-08-05 19:10 ` [PATCH v2 1/6] doc: test linkgit macros for well-formedness Jean-Noël Avila via GitGitGadget
2025-08-05 19:10 ` [PATCH v2 2/6] doc: check well-formedness of delimited sections Jean-Noël Avila via GitGitGadget
2025-08-05 19:10 ` [PATCH v2 3/6] doc: check for absence of multiple terms in each entry of desc list Jean-Noël Avila via GitGitGadget
2025-08-05 20:30 ` [-SPAM-] " Ramsay Jones
2025-08-08 13:00 ` Jean-Noël AVILA
2025-08-06 1:02 ` Collin Funk
2025-08-08 21:52 ` Jean-Noël AVILA
2025-08-05 19:10 ` [PATCH v2 4/6] doc: check for absence of the form --[no-]parameter Jean-Noël Avila via GitGitGadget
2025-08-05 19:10 ` [PATCH v2 5/6] doc:git-for-each-ref: fix styling and typos Jean-Noël Avila via GitGitGadget
2025-08-05 19:10 ` [PATCH v2 6/6] doc lint: check that synopsis manpages have synopsis inlines Jean-Noël Avila via GitGitGadget
2025-08-11 20:53 ` [PATCH v3 0/6] Introduce more doc linting Jean-Noël Avila via GitGitGadget
2025-08-11 20:53 ` [PATCH v3 1/6] doc: test linkgit macros for well-formedness Jean-Noël Avila via GitGitGadget
2025-08-11 20:53 ` [PATCH v3 2/6] doc: check well-formedness of delimited sections Jean-Noël Avila via GitGitGadget
2025-08-11 20:53 ` [PATCH v3 3/6] doc: check for absence of multiple terms in each entry of desc list Jean-Noël Avila via GitGitGadget
2025-08-11 20:53 ` [PATCH v3 4/6] doc: check for absence of the form --[no-]parameter Jean-Noël Avila via GitGitGadget
2025-08-11 20:53 ` [PATCH v3 5/6] doc:git-for-each-ref: fix styling and typos Jean-Noël Avila via GitGitGadget
2025-08-11 20:53 ` [PATCH v3 6/6] doc lint: check that synopsis manpages have synopsis inlines Jean-Noël Avila via GitGitGadget
2025-08-14 16:34 ` [PATCH v3 0/6] Introduce more doc linting Junio C Hamano
2025-08-14 17:23 ` Jean-Noël AVILA
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5806390052b7a7cbdb8dc843bfcc24102604e2f6.1754399033.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=jn.avila@free.fr \
/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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.