doc: check for absence of multiple terms in each entry of desc list

For simplifying automated translation of the documentation, it is better to
only present one term in each entry of a description list of options. This
is because most of these terms can automatically be marked as
notranslatable.

Also, due to portability issues, the script generate-configlist.sh can no
longer insert newlines in the output. However, the result is that it no
longer correctly handles multiple terms in a single entry of definition
lists.

As a result, we now check that these entries do not exist in the
documentation.

Reviewed-by: Collin Funk <collin.funk1@gmail.com>
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jean-Noël Avila
2025-08-11 20:53:17 +00:00
committed by Junio C Hamano
parent 63d33eb7f6
commit ed26022094
7 changed files with 51 additions and 6 deletions

View File

@@ -508,6 +508,15 @@ $(LINT_DOCS_DELIMITED_SECTIONS): .build/lint-docs/delimited-sections/%.ok: %.ado
.PHONY: lint-docs-delimited-sections .PHONY: lint-docs-delimited-sections
lint-docs-delimited-sections: $(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,$(DOC_DEP_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: lint-docs-manpages:
$(QUIET_GEN)./lint-manpages.sh $(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-end-blurb
lint-docs: lint-docs-man-section-order lint-docs: lint-docs-man-section-order
lint-docs: lint-docs-delimited-sections lint-docs: lint-docs-delimited-sections
lint-docs: lint-docs-doc-style
lint-docs: lint-docs-manpages lint-docs: lint-docs-manpages
lint-docs: lint-docs-meson lint-docs: lint-docs-meson

View File

@@ -19,7 +19,8 @@ For every pathname, this command will list if each attribute is 'unspecified',
OPTIONS OPTIONS
------- -------
-a, --all:: -a::
--all::
List all attributes that are associated with the specified List all attributes that are associated with the specified
paths. If this option is used, then 'unspecified' attributes paths. If this option is used, then 'unspecified' attributes
will not be included in the output. will not be included in the output.

View File

@@ -25,11 +25,13 @@ subject to exclude rules; but see `--no-index'.
OPTIONS OPTIONS
------- -------
-q, --quiet:: -q::
--quiet::
Don't output anything, just set exit status. This is only Don't output anything, just set exit status. This is only
valid with a single pathname. valid with a single pathname.
-v, --verbose:: -v::
--verbose::
Instead of printing the paths that are excluded, for each path Instead of printing the paths that are excluded, for each path
that matches an exclude pattern, print the exclude pattern that matches an exclude pattern, print the exclude pattern
together with the path. (Matching an exclude pattern usually 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 below). If `--stdin` is also given, input paths are separated
with a NUL character instead of a linefeed character. 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 Show given paths which don't match any pattern. This only
makes sense when `--verbose` is enabled, otherwise it would makes sense when `--verbose` is enabled, otherwise it would
not be possible to distinguish between paths which match a not be possible to distinguish between paths which match a

View File

@@ -25,8 +25,11 @@ commit-id::
Either the hash or the filename under [URL]/refs/ to Either the hash or the filename under [URL]/refs/ to
pull. pull.
-a, -c, -t:: -a::
-c::
-t::
These options are ignored for historical reasons. These options are ignored for historical reasons.
-v:: -v::
Report what is downloaded. Report what is downloaded.

View File

@@ -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;

View File

@@ -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 the objects will be walked in a separate way based on those starting
commits. commits.
`commits`, `blobs`, `trees`, `tags`:: `commits`::
`blobs`::
`trees`::
`tags`::
By default, these members are enabled and signal that the path-walk By default, these members are enabled and signal that the path-walk
API should call the `path_fn` on objects of these types. Specialized API should call the `path_fn` on objects of these types. Specialized
applications could disable some options to make it simpler to walk applications could disable some options to make it simpler to walk

View File

@@ -89,6 +89,7 @@ ifndef V
QUIET_LINT_GITLINK = @echo ' ' LINT GITLINK $<; QUIET_LINT_GITLINK = @echo ' ' LINT GITLINK $<;
QUIET_LINT_MANSEC = @echo ' ' LINT MAN SEC $<; QUIET_LINT_MANSEC = @echo ' ' LINT MAN SEC $<;
QUIET_LINT_DELIMSEC = @echo ' ' LINT DEL SEC $<; QUIET_LINT_DELIMSEC = @echo ' ' LINT DEL SEC $<;
QUIET_LINT_DOCSTYLE = @echo ' ' LINT DOCSTYLE $<;
QUIET_LINT_MANEND = @echo ' ' LINT MAN END $<; QUIET_LINT_MANEND = @echo ' ' LINT MAN END $<;
export V export V