Subject: Re: [PATCH 5/5] doc lint: lint and fix missing "GIT" end sections

From: Junio C Hamano <[email-masked]>
Date: Sat, 27 Mar 2021 23:42:06 -0700

Ævar Arnfjörð Bjarmason  <[email-masked]> writes:

> Lint for and fix the three manual pages that were missing the standard
> "Part of the linkgit:git[1] suite" end section.
>
> We only do this for the man[157] section documents (we don't have
> anything outside those sections), not files to be included,
> howto *.txt files etc.

OK.  Alternatively we could drop the footer from all pages.  IIRC,
we used to have another footer section to credit primary authors,
which we dropped years ago.  I doubt "git-foo is part of git suite"
is something worth repeating over and over.

Thanks.

> Signed-off-by: Ævar Arnfjörð Bjarmason <[email-masked]>
> ---
>  Documentation/Makefile           |  2 ++
>  Documentation/git-credential.txt |  4 ++++
>  Documentation/git-p4.txt         |  4 ++++
>  Documentation/gitnamespaces.txt  |  4 ++++
>  Documentation/lint-man-txt.perl  | 24 ++++++++++++++++++++++++
>  5 files changed, 38 insertions(+)
>  create mode 100755 Documentation/lint-man-txt.perl
>
> diff --git a/Documentation/Makefile b/Documentation/Makefile
> index 6bfd8c75772..2b6cd0f7be2 100644
> --- a/Documentation/Makefile
> +++ b/Documentation/Makefile
> @@ -490,6 +490,8 @@ lint-docs::
>  		--section=5 $(MAN5_TXT) \
>  		--section=7 $(MAN7_TXT)	\
>  		--to-lint $(ALL_TXT)
> +	$(QUIET_LINT)$(PERL_PATH) lint-man-txt.perl \
> +		$(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT)
>  
>  ifeq ($(wildcard po/Makefile),po/Makefile)
>  doc-l10n install-l10n::
> diff --git a/Documentation/git-credential.txt b/Documentation/git-credential.txt
> index 31c81c4c026..206e3c5f407 100644
> --- a/Documentation/git-credential.txt
> +++ b/Documentation/git-credential.txt
> @@ -159,3 +159,7 @@ empty string.
>  +
>  Components which are missing from the URL (e.g., there is no
>  username in the example above) will be left unset.
> +
> +GIT
> +---
> +Part of the linkgit:git[1] suite
> diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
> index f89e68b424c..38e5257b2a4 100644
> --- a/Documentation/git-p4.txt
> +++ b/Documentation/git-p4.txt
> @@ -762,3 +762,7 @@ IMPLEMENTATION DETAILS
>    message indicating the p4 depot location and change number.  This
>    line is used by later 'git p4 sync' operations to know which p4
>    changes are new.
> +
> +GIT
> +---
> +Part of the linkgit:git[1] suite
> diff --git a/Documentation/gitnamespaces.txt b/Documentation/gitnamespaces.txt
> index b614969ad2c..1c8d2ecc358 100644
> --- a/Documentation/gitnamespaces.txt
> +++ b/Documentation/gitnamespaces.txt
> @@ -62,3 +62,7 @@ git clone ext::'git --namespace=foo %s /tmp/prefixed.git'
>  ----------
>  
>  include::transfer-data-leaks.txt[]
> +
> +GIT
> +---
> +Part of the linkgit:git[1] suite
> diff --git a/Documentation/lint-man-txt.perl b/Documentation/lint-man-txt.perl
> new file mode 100755
> index 00000000000..d69312e5db5
> --- /dev/null
> +++ b/Documentation/lint-man-txt.perl
> @@ -0,0 +1,24 @@
> +#!/usr/bin/perl
> +
> +use strict;
> +use warnings;
> +
> +my $exit_code = 0;
> +sub report {
> +	my ($target, $msg) = @_;
> +	print "error: $target: $msg\n";
> +	$exit_code = 1;
> +}
> +
> +local $/;
> +while (my $slurp = <>) {
> +	report($ARGV, "has no 'Part of the linkgit:git[1] suite' end blurb")
> +		unless $slurp =~ m[
> +		^GIT\n
> +		 ---\n
> +		\QPart of the linkgit:git[1] suite\E \n
> +		\z
> +	]mx;
> +}
> +
> +exit $exit_code;