notes docs: de-duplicate and combine configuration sections

Combine the various "notes" configuration sections spread across
Documentation/config/notes.txt and Documentation/git-notes.txt to live
in the former, and to be included in the latter.

We'll now forward link from "git notes" to the "CONFIGURATION" section
below, rather than to "git-config(1)" when discussing configuration
variables that are (also) discussed in that section.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2022-09-07 10:27:01 +02:00 committed by Junio C Hamano
parent 416fed246f
commit 5bd277e2e2
3 changed files with 33 additions and 81 deletions

View File

@ -3,6 +3,9 @@ notes.mergeStrategy::
conflicts. Must be one of `manual`, `ours`, `theirs`, `union`, or conflicts. Must be one of `manual`, `ours`, `theirs`, `union`, or
`cat_sort_uniq`. Defaults to `manual`. See "NOTES MERGE STRATEGIES" `cat_sort_uniq`. Defaults to `manual`. See "NOTES MERGE STRATEGIES"
section of linkgit:git-notes[1] for more information on each strategy. section of linkgit:git-notes[1] for more information on each strategy.
+
This setting can be overridden by passing the `--strategy` option to
linkgit:git-notes[1].
notes.<name>.mergeStrategy:: notes.<name>.mergeStrategy::
Which merge strategy to choose when doing a notes merge into Which merge strategy to choose when doing a notes merge into
@ -11,28 +14,35 @@ notes.<name>.mergeStrategy::
linkgit:git-notes[1] for more information on the available strategies. linkgit:git-notes[1] for more information on the available strategies.
notes.displayRef:: notes.displayRef::
The (fully qualified) refname from which to show notes when Which ref (or refs, if a glob or specified more than once), in
showing commit messages. The value of this variable can be set addition to the default set by `core.notesRef` or
to a glob, in which case notes from all matching refs will be `GIT_NOTES_REF`, to read notes from when showing commit
shown. You may also specify this configuration variable messages with the 'git log' family of commands.
several times. A warning will be issued for refs that do not
exist, but a glob that does not match any refs is silently
ignored.
+ +
This setting can be overridden with the `GIT_NOTES_DISPLAY_REF` This setting can be overridden with the `GIT_NOTES_DISPLAY_REF`
environment variable, which must be a colon separated list of refs or environment variable, which must be a colon separated list of refs or
globs. globs.
+ +
A warning will be issued for refs that do not exist,
but a glob that does not match any refs is silently ignored.
+
This setting can be disabled by the `--no-notes` option to the 'git
log' family of commands, or by the `--notes=<ref>` option accepted by
those commands.
+
The effective value of "core.notesRef" (possibly overridden by The effective value of "core.notesRef" (possibly overridden by
GIT_NOTES_REF) is also implicitly added to the list of refs to be GIT_NOTES_REF) is also implicitly added to the list of refs to be
displayed. displayed.
notes.rewrite.<command>:: notes.rewrite.<command>::
When rewriting commits with <command> (currently `amend` or When rewriting commits with <command> (currently `amend` or
`rebase`) and this variable is set to `true`, Git `rebase`), if this variable is `false`, git will not copy
automatically copies your notes from the original to the notes from the original to the rewritten commit. Defaults to
rewritten commit. Defaults to `true`, but see `true`. See also "`notes.rewriteRef`" below.
"notes.rewriteRef" below. +
This setting can be overridden with the `GIT_NOTES_REWRITE_REF`
environment variable, which must be a colon separated list of refs or
globs.
notes.rewriteMode:: notes.rewriteMode::
When copying notes during a rewrite (see the When copying notes during a rewrite (see the
@ -46,14 +56,13 @@ environment variable.
notes.rewriteRef:: notes.rewriteRef::
When copying notes during a rewrite, specifies the (fully When copying notes during a rewrite, specifies the (fully
qualified) ref whose notes should be copied. The ref may be a qualified) ref whose notes should be copied. May be a glob,
glob, in which case notes in all matching refs will be copied. in which case notes in all matching refs will be copied. You
You may also specify this configuration several times. may also specify this configuration several times.
+ +
Does not have a default value; you must configure this variable to Does not have a default value; you must configure this variable to
enable note rewriting. Set it to `refs/notes/commits` to enable enable note rewriting. Set it to `refs/notes/commits` to enable
rewriting for the default commit notes. rewriting for the default commit notes.
+ +
This setting can be overridden with the `GIT_NOTES_REWRITE_REF` Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable.
environment variable, which must be a colon separated list of refs or See `notes.rewrite.<command>` above for a further description of its format.
globs.

View File

@ -227,19 +227,9 @@ log.showSignature::
mailmap.*:: mailmap.*::
See linkgit:git-shortlog[1]. See linkgit:git-shortlog[1].
notes.displayRef:: include::includes/cmd-config-section-rest.txt[]
Which refs, in addition to the default set by `core.notesRef`
or `GIT_NOTES_REF`, to read notes from when showing commit include::config/notes.txt[]
messages with the `log` family of commands. See
linkgit:git-notes[1].
+
May be an unabbreviated ref name or a glob and may be specified
multiple times. A warning will be issued for refs that do not exist,
but a glob that does not match any refs is silently ignored.
+
This setting can be disabled by the `--no-notes` option,
overridden by the `GIT_NOTES_DISPLAY_REF` environment variable,
and overridden by the `--notes=<ref>` option.
GIT GIT
--- ---

View File

@ -44,7 +44,7 @@ using the `--notes` option. Such notes are added as a patch commentary
after a three dash separator line. after a three dash separator line.
To change which notes are shown by 'git log', see the To change which notes are shown by 'git log', see the
"notes.displayRef" configuration in linkgit:git-log[1]. "notes.displayRef" discussion in <<CONFIGURATION>>.
See the "notes.rewrite.<command>" configuration for a way to carry See the "notes.rewrite.<command>" configuration for a way to carry
notes across commands that rewrite commits. notes across commands that rewrite commits.
@ -307,6 +307,7 @@ with 'git log', so if you use such notes, you'll probably need to write
some special-purpose tools to do something useful with them. some special-purpose tools to do something useful with them.
[[CONFIGURATION]]
CONFIGURATION CONFIGURATION
------------- -------------
@ -316,57 +317,9 @@ core.notesRef::
This setting can be overridden through the environment and This setting can be overridden through the environment and
command line. command line.
notes.mergeStrategy:: include::includes/cmd-config-section-rest.txt[]
Which merge strategy to choose by default when resolving notes
conflicts. Must be one of `manual`, `ours`, `theirs`, `union`, or
`cat_sort_uniq`. Defaults to `manual`. See "NOTES MERGE STRATEGIES"
section above for more information on each strategy.
+
This setting can be overridden by passing the `--strategy` option.
notes.<name>.mergeStrategy:: include::config/notes.txt[]
Which merge strategy to choose when doing a notes merge into
refs/notes/<name>. This overrides the more general
"notes.mergeStrategy". See the "NOTES MERGE STRATEGIES" section above
for more information on each available strategy.
notes.displayRef::
Which ref (or refs, if a glob or specified more than once), in
addition to the default set by `core.notesRef` or
`GIT_NOTES_REF`, to read notes from when showing commit
messages with the 'git log' family of commands.
This setting can be overridden on the command line or by the
`GIT_NOTES_DISPLAY_REF` environment variable.
See linkgit:git-log[1].
notes.rewrite.<command>::
When rewriting commits with <command> (currently `amend` or
`rebase`), if this variable is `false`, git will not copy
notes from the original to the rewritten commit. Defaults to
`true`. See also "`notes.rewriteRef`" below.
+
This setting can be overridden by the `GIT_NOTES_REWRITE_REF`
environment variable.
notes.rewriteMode::
When copying notes during a rewrite, what to do if the target
commit already has a note. Must be one of `overwrite`,
`concatenate`, `cat_sort_uniq`, or `ignore`. Defaults to
`concatenate`.
+
This setting can be overridden with the `GIT_NOTES_REWRITE_MODE`
environment variable.
notes.rewriteRef::
When copying notes during a rewrite, specifies the (fully
qualified) ref whose notes should be copied. May be a glob,
in which case notes in all matching refs will be copied. You
may also specify this configuration several times.
+
Does not have a default value; you must configure this variable to
enable note rewriting.
+
Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable.
ENVIRONMENT ENVIRONMENT