Git development
 help / color / mirror / Atom feed
* [PATCH 0/3] doc lint fixes for pack-refs and refs
@ 2026-09-12 19:14 Todd Zullinger
  2026-09-12 19:15 ` [PATCH 1/3] doc lint: match commands as well as options for synopsis style check Todd Zullinger
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Todd Zullinger @ 2026-09-12 19:14 UTC (permalink / raw)
  To: Jean-Noël Avila; +Cc: git

I was reading git-refs(1) after noticing it learned some new tricks in the
2.56.0 release notes.  The formatting stood out because the first two commands,
migrate and verify are bold (in the man pages) but subsequent commands are not.
The HTML is similarly affected, with those commands colored differently than
the rest in our online documentation:

    https://git-scm.com/docs/git-refs

This is due to inconsistent backtick-quotes.

This led me to the lint check, which I think might benefit from the small
change here to match commands as well as options.  Running something like this
reports a number of files which could also use some tweaks:

    cd Documentation && for i in *.adoc; do
        output=$(perl lint-documentation-style.perl <$i 2>&1)
        [[ -n $output ]] && printf '\n%s:\n%s\n' $i "$output"
    done

I _think_ we want to backtick-quote those when using the synopsis style.  (If
not, then the change is wrong and we should remove the backticks from the two
commands in git-refs.adoc and other places.)

As git-refs.adoc includes pack-refs-options.adoc, I updated it to consistently
use backtick quoting and converted the only other file which includes it,
git-pack-refs.adoc.

Todd Zullinger (3):
  doc lint: match commands as well as options for synopsis style check
  doc/pack-refs: convert synopsis and options to new style
  doc/refs: backtick-quote commands and options consistently

 Documentation/git-pack-refs.adoc            |  8 ++++----
 Documentation/git-refs.adoc                 | 14 +++++++-------
 Documentation/lint-documentation-style.perl |  4 ++--
 Documentation/pack-refs-options.adoc        | 10 +++++-----
 4 files changed, 18 insertions(+), 18 deletions(-)

-- 
2.56.0.rc0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/3] doc lint: match commands as well as options for synopsis style check
  2026-09-12 19:14 [PATCH 0/3] doc lint fixes for pack-refs and refs Todd Zullinger
@ 2026-09-12 19:15 ` Todd Zullinger
  2026-09-12 19:15 ` [PATCH 2/3] doc/pack-refs: convert synopsis and options to new style Todd Zullinger
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Todd Zullinger @ 2026-09-12 19:15 UTC (permalink / raw)
  To: Jean-Noël Avila; +Cc: git

Both `--option::` and `command::` should be backtick-quoted with the new
synopsis style.  Remove the requirement for a leading `-` from the regex
which scans for these patterns.

Avoid matching lines like `linkgit:git-diff[1]::` by replacing `.*` with
`[^:]*` in the regex.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
---
 Documentation/lint-documentation-style.perl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/lint-documentation-style.perl b/Documentation/lint-documentation-style.perl
index d7ab732293..6eece11bdc 100755
--- a/Documentation/lint-documentation-style.perl
+++ b/Documentation/lint-documentation-style.perl
@@ -24,8 +24,8 @@ sub report {
 	if ($line =~ /^\[synopsis\]$/) {
 		$synopsis_style = 1;
 	}
-	if (($line =~ /^(-[-a-z].*|<[-a-z0-9]+>(\.{3})?)(::|;;)$/) && ($synopsis_style)) {
-			report($line, "synopsis style and definition list item not backquoted");
+	if (($line =~ /^([-a-z][^:]*|<[-a-z0-9]+>(\.{3})?)(::|;;)$/) && ($synopsis_style)) {
+		report($line, "synopsis style and definition list item not backquoted");
 	}
 }
 
-- 
2.56.0.rc0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] doc/pack-refs: convert synopsis and options to new style
  2026-09-12 19:14 [PATCH 0/3] doc lint fixes for pack-refs and refs Todd Zullinger
  2026-09-12 19:15 ` [PATCH 1/3] doc lint: match commands as well as options for synopsis style check Todd Zullinger
@ 2026-09-12 19:15 ` Todd Zullinger
  2026-09-12 19:15 ` [PATCH 3/3] doc/refs: backtick-quote commands and options consistently Todd Zullinger
  2026-09-13 10:26 ` [PATCH 0/3] doc lint fixes for pack-refs and refs Jean-Noël AVILA
  3 siblings, 0 replies; 6+ messages in thread
From: Todd Zullinger @ 2026-09-12 19:15 UTC (permalink / raw)
  To: Jean-Noël Avila; +Cc: git

Replace [verse] with [synopsis] in the SYNOPSIS block and remove
single-quote formatting from the command name.

Backtick-quote all option terms in the OPTIONS section and convert
the standalone placeholder _<branch>_ in prose.

Update the included pack-refs-options.adoc to backtick-quote all
configuration key terms.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
---
 Documentation/git-pack-refs.adoc     |  8 ++++----
 Documentation/pack-refs-options.adoc | 10 +++++-----
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/Documentation/git-pack-refs.adoc b/Documentation/git-pack-refs.adoc
index fde9f2f294..69e018d07e 100644
--- a/Documentation/git-pack-refs.adoc
+++ b/Documentation/git-pack-refs.adoc
@@ -7,8 +7,8 @@ git-pack-refs - Pack heads and tags for efficient repository access
 
 SYNOPSIS
 --------
-[verse]
-'git pack-refs' [--all] [--no-prune] [--auto] [--include <pattern>] [--exclude <pattern>]
+[synopsis]
+git pack-refs [--all] [--no-prune] [--auto] [--include <pattern>] [--exclude <pattern>]
 
 DESCRIPTION
 -----------
@@ -52,8 +52,8 @@ BUGS
 ----
 
 Older documentation written before the packed-refs mechanism was
-introduced may still say things like ".git/refs/heads/<branch> file
-exists" when it means "branch <branch> exists".
+introduced may still say things like ".git/refs/heads/_<branch>_ file
+exists" when it means "branch _<branch>_ exists".
 
 
 GIT
diff --git a/Documentation/pack-refs-options.adoc b/Documentation/pack-refs-options.adoc
index 0b11282941..2263648b39 100644
--- a/Documentation/pack-refs-options.adoc
+++ b/Documentation/pack-refs-options.adoc
@@ -1,4 +1,4 @@
---all::
+`--all`::
 
 The command by default packs all tags and refs that are already
 packed, and leaves other refs
@@ -8,12 +8,12 @@ This option causes all refs to be packed as well, with the exception
 of hidden refs, broken refs, and symbolic refs. Useful for a repository
 with many branches of historical interests.
 
---no-prune::
+`--no-prune`::
 
 The command usually removes loose refs under `$GIT_DIR/refs`
 hierarchy after packing them.  This option tells it not to.
 
---auto::
+`--auto`::
 
 Pack refs as needed depending on the current state of the ref database. The
 behavior depends on the ref format used by the repository and may change in the
@@ -29,7 +29,7 @@ future.
 	  maintains the property that N is at least twice as big as N+1. Only
 	  tables that violate this property are compacted.
 
---include <pattern>::
+`--include <pattern>`::
 
 Pack refs based on a `glob(7)` pattern. Repetitions of this option
 accumulate inclusion patterns. If a ref is both included in `--include` and
@@ -38,7 +38,7 @@ tags from being included by default. Symbolic refs and broken refs will never
 be packed. When used with `--all`, it will be a noop. Use `--no-include` to clear
 and reset the list of patterns.
 
---exclude <pattern>::
+`--exclude <pattern>`::
 
 Do not pack refs matching the given `glob(7)` pattern. Repetitions of this option
 accumulate exclusion patterns. Use `--no-exclude` to clear and reset the list of
-- 
2.56.0.rc0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] doc/refs: backtick-quote commands and options consistently
  2026-09-12 19:14 [PATCH 0/3] doc lint fixes for pack-refs and refs Todd Zullinger
  2026-09-12 19:15 ` [PATCH 1/3] doc lint: match commands as well as options for synopsis style check Todd Zullinger
  2026-09-12 19:15 ` [PATCH 2/3] doc/pack-refs: convert synopsis and options to new style Todd Zullinger
@ 2026-09-12 19:15 ` Todd Zullinger
  2026-09-13 10:26 ` [PATCH 0/3] doc lint fixes for pack-refs and refs Jean-Noël AVILA
  3 siblings, 0 replies; 6+ messages in thread
From: Todd Zullinger @ 2026-09-12 19:15 UTC (permalink / raw)
  To: Jean-Noël Avila; +Cc: git

The git-refs doc was converted to the synopsis style in 89be7d2774
(builtin/refs: add '--no-reflog' flag to drop reflogs, 2025-02-21).  The
commands and options were not backtick-quoted at that time.  84f3d6e11e
(doc lint: check that synopsis manpages have synopsis inlines,
2025-08-11) applied backtick-quotes to the existing commands and
options.

Subsequently, a number of commands and options were added without such
quoting, leaving the documentation rendered inconsistently.  Apply
backtick-quotes to all entries.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
---
 Documentation/git-refs.adoc | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Documentation/git-refs.adoc b/Documentation/git-refs.adoc
index 9063892651..9dc08cbca9 100644
--- a/Documentation/git-refs.adoc
+++ b/Documentation/git-refs.adoc
@@ -54,40 +54,40 @@ These limitations may eventually be lifted.
 `verify`::
 	Verify reference database consistency.
 
-list::
+`list`::
 	List references in the repository with support for filtering,
 	formatting, and sorting. This subcommand is an alias for
 	linkgit:git-for-each-ref[1] and offers identical functionality.
 
-exists::
+`exists`::
 	Check whether the given reference exists. Returns an exit code of 0 if
 	it does, 2 if it is missing, and 1 in case looking up the reference
 	failed with an error other than the reference being missing. This does
 	not verify whether the reference resolves to an actual object.
 
-optimize::
+`optimize`::
 	Optimizes references to improve repository performance and reduce disk
 	usage. This subcommand is an alias for linkgit:git-pack-refs[1] and
 	offers identical functionality.
 
-create::
+`create`::
 	Create the given reference, which must not already exist, pointing at
 	`<new-value>`.
 
-delete::
+`delete`::
 	Delete the given reference. This subcommand mirrors `git update-ref -d`
 	(see linkgit:git-update-ref[1]). When `<old-value>` is given, the
 	reference is only deleted after verifying that it currently contains
 	`<old-value>`.
 
-update::
+`update`::
 	Update the given reference to point at `<new-value>`. If `<old-value>`
 	is given, the reference is only updated after verifying that it
 	currently contains `<old-value>`. As a special case, an all-zeroes
 	`<new-value>` deletes the branch, whereas an all-zeroes `<old-value>`
 	ensures that the branch does not yet exist.
 
-rename::
+`rename`::
 	Rename the reference `<oldref>` to `<newref>`. The old reference must
 	exist and the new reference must not yet exist, and both must have a
 	well-formed name (see linkgit:git-check-ref-format[1]).
-- 
2.56.0.rc0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/3] doc lint fixes for pack-refs and refs
  2026-09-12 19:14 [PATCH 0/3] doc lint fixes for pack-refs and refs Todd Zullinger
                   ` (2 preceding siblings ...)
  2026-09-12 19:15 ` [PATCH 3/3] doc/refs: backtick-quote commands and options consistently Todd Zullinger
@ 2026-09-13 10:26 ` Jean-Noël AVILA
  2026-09-13 14:14   ` Todd Zullinger
  3 siblings, 1 reply; 6+ messages in thread
From: Jean-Noël AVILA @ 2026-09-13 10:26 UTC (permalink / raw)
  To: Todd Zullinger; +Cc: git

On Saturday, 12 September 2026 21:14:59 CEST Todd Zullinger wrote:
> I was reading git-refs(1) after noticing it learned some new tricks in the
> 2.56.0 release notes.  The formatting stood out because the first two 
commands,
> migrate and verify are bold (in the man pages) but subsequent commands are 
not.
> The HTML is similarly affected, with those commands colored differently than
> the rest in our online documentation:
> 
>     https://git-scm.com/docs/git-refs
> 
> This is due to inconsistent backtick-quotes.
> 
> This led me to the lint check, which I think might benefit from the small
> change here to match commands as well as options.  Running something like 
this
> reports a number of files which could also use some tweaks:
> 
>     cd Documentation && for i in *.adoc; do
>         output=$(perl lint-documentation-style.perl <$i 2>&1)
>         [[ -n $output ]] && printf '\n%s:\n%s\n' $i "$output"
>     done
> 
> I _think_ we want to backtick-quote those when using the synopsis style.  
(If
> not, then the change is wrong and we should remove the backticks from the 
two
> commands in git-refs.adoc and other places.)
> 
> As git-refs.adoc includes pack-refs-options.adoc, I updated it to 
consistently
> use backtick quoting and converted the only other file which includes it,
> git-pack-refs.adoc.
> 
> Todd Zullinger (3):
>   doc lint: match commands as well as options for synopsis style check
>   doc/pack-refs: convert synopsis and options to new style
>   doc/refs: backtick-quote commands and options consistently
> 
>  Documentation/git-pack-refs.adoc            |  8 ++++----
>  Documentation/git-refs.adoc                 | 14 +++++++-------
>  Documentation/lint-documentation-style.perl |  4 ++--
>  Documentation/pack-refs-options.adoc        | 10 +++++-----
>  4 files changed, 18 insertions(+), 18 deletions(-)

When I put this linting in place, I was specifically targeting the options. 
The other cases of use of definition list could range from commands to real 
definitions of words (see gitglossary.adoc and git-add.adoc), and extending 
the match can trigger false positives. Backticked terms are supposed to be 
immutable for translators, so this formatting should not be used for real 
definitions. 
For this reason, the regex is restricted on purpose, but selecting the files 
to check to allow to extend the range of checks.
, 
FWIW, the proposed change triggers false positives for git-add.adoc, git-
push.adoc, git-difftool.adoc, git-daemon.adoc and git-fetch.adoc.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/3] doc lint fixes for pack-refs and refs
  2026-09-13 10:26 ` [PATCH 0/3] doc lint fixes for pack-refs and refs Jean-Noël AVILA
@ 2026-09-13 14:14   ` Todd Zullinger
  0 siblings, 0 replies; 6+ messages in thread
From: Todd Zullinger @ 2026-09-13 14:14 UTC (permalink / raw)
  To: Jean-Noël AVILA; +Cc: git

Hi,

Jean-Noël AVILA wrote:
> When I put this linting in place, I was specifically targeting the options. 
> The other cases of use of definition list could range from commands to real 
> definitions of words (see gitglossary.adoc and git-add.adoc), and extending 
> the match can trigger false positives. Backticked terms are supposed to be 
> immutable for translators, so this formatting should not be used for real 
> definitions. 
> For this reason, the regex is restricted on purpose, but selecting the files 
> to check to allow to extend the range of checks.
> , 
> FWIW, the proposed change triggers false positives for git-add.adoc, git-
> push.adoc, git-difftool.adoc, git-daemon.adoc and git-fetch.adoc.

That's fine, I don't mind dropping that patch if the false
positives will be more annoying than skipping the checks for
commands and missing some of them.

I'll wait a little before sending a re-roll with that
dropped, in case anyone spots issues in the main patches to
the pack-refs and refs docs.

Thanks,

-- 
Todd

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-09-13 14:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-12 19:14 [PATCH 0/3] doc lint fixes for pack-refs and refs Todd Zullinger
2026-09-12 19:15 ` [PATCH 1/3] doc lint: match commands as well as options for synopsis style check Todd Zullinger
2026-09-12 19:15 ` [PATCH 2/3] doc/pack-refs: convert synopsis and options to new style Todd Zullinger
2026-09-12 19:15 ` [PATCH 3/3] doc/refs: backtick-quote commands and options consistently Todd Zullinger
2026-09-13 10:26 ` [PATCH 0/3] doc lint fixes for pack-refs and refs Jean-Noël AVILA
2026-09-13 14:14   ` Todd Zullinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox