doc: check for absence of the form --[no-]parameter

For better searchability, this commit adds a check to ensure that parameters
expressed in the form of `--[no-]parameter` are not used in the
documentation.  In the place of such parameters, the documentation should
list two separate parameters: `--parameter` and `--no-parameter`.

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:18 +00:00
committed by Junio C Hamano
parent ed26022094
commit 03a353bb97
36 changed files with 159 additions and 78 deletions

View File

@@ -75,7 +75,8 @@ include::line-range-format.adoc[]
iso format is used. For supported values, see the discussion iso format is used. For supported values, see the discussion
of the --date option at linkgit:git-log[1]. of the --date option at linkgit:git-log[1].
--[no-]progress:: --progress::
--no-progress::
Progress status is reported on the standard error stream Progress status is reported on the standard error stream
by default when it is attached to a terminal. This flag by default when it is attached to a terminal. This flag
enables progress reporting even if not attached to a enables progress reporting even if not attached to a

View File

@@ -505,7 +505,8 @@ endif::git-format-patch[]
Turn off rename detection, even when the configuration Turn off rename detection, even when the configuration
file gives the default to do so. file gives the default to do so.
`--[no-]rename-empty`:: `--rename-empty`::
`--no-rename-empty`::
Whether to use empty blobs as rename source. Whether to use empty blobs as rename source.
ifndef::git-format-patch[] ifndef::git-format-patch[]

View File

@@ -1,4 +1,5 @@
--[no-]all:: --all::
--no-all::
Fetch all remotes, except for the ones that has the Fetch all remotes, except for the ones that has the
`remote.<name>.skipFetchAll` configuration variable set. `remote.<name>.skipFetchAll` configuration variable set.
This overrides the configuration variable fetch.all`. This overrides the configuration variable fetch.all`.
@@ -88,7 +89,8 @@ This is incompatible with `--recurse-submodules=[yes|on-demand]` and takes
precedence over the `fetch.output` config option. precedence over the `fetch.output` config option.
ifndef::git-pull[] ifndef::git-pull[]
--[no-]write-fetch-head:: --write-fetch-head::
--no-write-fetch-head::
Write the list of remote refs fetched in the `FETCH_HEAD` Write the list of remote refs fetched in the `FETCH_HEAD`
file directly under `$GIT_DIR`. This is the default. file directly under `$GIT_DIR`. This is the default.
Passing `--no-write-fetch-head` from the command line tells Passing `--no-write-fetch-head` from the command line tells
@@ -118,13 +120,16 @@ ifndef::git-pull[]
Allow several <repository> and <group> arguments to be Allow several <repository> and <group> arguments to be
specified. No <refspec>s may be specified. specified. No <refspec>s may be specified.
--[no-]auto-maintenance:: --auto-maintenance::
--[no-]auto-gc:: --no-auto-maintenance::
--auto-gc::
--no-auto-gc::
Run `git maintenance run --auto` at the end to perform automatic Run `git maintenance run --auto` at the end to perform automatic
repository maintenance if needed. (`--[no-]auto-gc` is a synonym.) repository maintenance if needed. (`--[no-]auto-gc` is a synonym.)
This is enabled by default. This is enabled by default.
--[no-]write-commit-graph:: --write-commit-graph::
--no-write-commit-graph::
Write a commit-graph after fetching. This overrides the config Write a commit-graph after fetching. This overrides the config
setting `fetch.writeCommitGraph`. setting `fetch.writeCommitGraph`.
endif::git-pull[] endif::git-pull[]

View File

@@ -48,7 +48,8 @@ OPTIONS
--keep-non-patch:: --keep-non-patch::
Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]). Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
--[no-]keep-cr:: --keep-cr::
--no-keep-cr::
With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1]) With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1])
with the same option, to prevent it from stripping CR at the end of with the same option, to prevent it from stripping CR at the end of
lines. `am.keepcr` configuration variable can be used to specify the lines. `am.keepcr` configuration variable can be used to specify the

View File

@@ -57,7 +57,8 @@ OPTIONS
blobs seen at a given path. The default minimum batch size is blobs seen at a given path. The default minimum batch size is
50,000. 50,000.
`--[no-]sparse`:: `--sparse`::
`--no-sparse`::
Only download objects if they appear at a path that matches the Only download objects if they appear at a path that matches the
current sparse-checkout. If the sparse-checkout feature is enabled, current sparse-checkout. If the sparse-checkout feature is enabled,
then `--sparse` is assumed and can be disabled with `--no-sparse`. then `--sparse` is assumed and can be disabled with `--no-sparse`.

View File

@@ -62,8 +62,10 @@ OPTIONS
or to ask for a "blob" with `<object>` being a tag object that or to ask for a "blob" with `<object>` being a tag object that
points at it. points at it.
--[no-]mailmap:: --mailmap::
--[no-]use-mailmap:: --no-mailmap::
--use-mailmap::
--no-use-mailmap::
Use mailmap file to map author, committer and tagger names Use mailmap file to map author, committer and tagger names
and email addresses to canonical real names and email addresses. and email addresses to canonical real names and email addresses.
See linkgit:git-shortlog[1]. See linkgit:git-shortlog[1].

View File

@@ -98,7 +98,8 @@ a branch.
OPTIONS OPTIONS
------- -------
--[no-]allow-onelevel:: --allow-onelevel::
--no-allow-onelevel::
Controls whether one-level refnames are accepted (i.e., Controls whether one-level refnames are accepted (i.e.,
refnames that do not contain multiple `/`-separated refnames that do not contain multiple `/`-separated
components). The default is `--no-allow-onelevel`. components). The default is `--no-allow-onelevel`.

View File

@@ -272,7 +272,8 @@ corresponding `--mirror` and `--no-tags` options instead.
reachable from a specified remote branch or tag. This option reachable from a specified remote branch or tag. This option
can be specified multiple times. can be specified multiple times.
`--[no-]single-branch`:: `--single-branch`::
`--no-single-branch`::
Clone only the history leading to the tip of a single branch, Clone only the history leading to the tip of a single branch,
either specified by the `--branch` option or the primary either specified by the `--branch` option or the primary
branch remote's `HEAD` points at. branch remote's `HEAD` points at.
@@ -282,7 +283,8 @@ corresponding `--mirror` and `--no-tags` options instead.
branch when `--single-branch` clone was made, no remote-tracking branch when `--single-branch` clone was made, no remote-tracking
branch is created. branch is created.
`--[no-]tags`:: `--tags`::
`--no-tags`::
Control whether or not tags will be cloned. When `--no-tags` is Control whether or not tags will be cloned. When `--no-tags` is
given, the option will be become permanent by setting the given, the option will be become permanent by setting the
`remote.<remote>.tagOpt=--no-tags` configuration. This ensures that `remote.<remote>.tagOpt=--no-tags` configuration. This ensures that
@@ -313,10 +315,12 @@ the clone is finished. This option is ignored if the cloned repository does
not have a worktree/checkout (i.e. if any of `--no-checkout`/`-n`, `--bare`, not have a worktree/checkout (i.e. if any of `--no-checkout`/`-n`, `--bare`,
or `--mirror` is given) or `--mirror` is given)
`--[no-]shallow-submodules`:: `--shallow-submodules`::
`--no-shallow-submodules`::
All submodules which are cloned will be shallow with a depth of 1. All submodules which are cloned will be shallow with a depth of 1.
`--[no-]remote-submodules`:: `--remote-submodules`::
`--no-remote-submodules`::
All submodules which are cloned will use the status of the submodule's All submodules which are cloned will use the status of the submodule's
remote-tracking branch to update the submodule, rather than the remote-tracking branch to update the submodule, rather than the
superproject's recorded SHA-1. Equivalent to passing `--remote` to superproject's recorded SHA-1. Equivalent to passing `--remote` to

View File

@@ -34,7 +34,8 @@ OPTIONS
object directory, `git commit-graph ...` will exit with non-zero object directory, `git commit-graph ...` will exit with non-zero
status. status.
--[no-]progress:: --progress::
--no-progress::
Turn progress on/off explicitly. If neither is specified, progress is Turn progress on/off explicitly. If neither is specified, progress is
shown if standard error is connected to a terminal. shown if standard error is connected to a terminal.

View File

@@ -214,7 +214,8 @@ include::signoff-option.adoc[]
each trailer would appear, and other details. each trailer would appear, and other details.
`-n`:: `-n`::
`--[no-]verify`:: `--verify`::
`--no-verify`::
Bypass the `pre-commit` and `commit-msg` hooks. Bypass the `pre-commit` and `commit-msg` hooks.
See also linkgit:githooks[5]. See also linkgit:githooks[5].

View File

@@ -295,7 +295,8 @@ Valid `<type>`'s include:
When the color setting for `name` is undefined, the command uses When the color setting for `name` is undefined, the command uses
`color.ui` as fallback. `color.ui` as fallback.
--[no-]includes:: --includes::
--no-includes::
Respect `include.*` directives in config files when looking up Respect `include.*` directives in config files when looking up
values. Defaults to `off` when a specific file is given (e.g., values. Defaults to `off` when a specific file is given (e.g.,
using `--file`, `--global`, etc) and `on` when searching all using `--file`, `--global`, etc) and `on` when searching all

View File

@@ -77,7 +77,8 @@ with custom merge tool commands and has the same value as `$MERGED`.
--tool-help:: --tool-help::
Print a list of diff tools that may be used with `--tool`. Print a list of diff tools that may be used with `--tool`.
--[no-]symlinks:: --symlinks::
--no-symlinks::
'git difftool''s default behavior is to create symlinks to the 'git difftool''s default behavior is to create symlinks to the
working tree when run in `--dir-diff` mode and the right-hand working tree when run in `--dir-diff` mode and the right-hand
side of the comparison yields the same content as the file in side of the comparison yields the same content as the file in
@@ -94,7 +95,8 @@ instead. `--no-symlinks` is the default on Windows.
Additionally, `$BASE` is set in the environment. Additionally, `$BASE` is set in the environment.
-g:: -g::
--[no-]gui:: --gui::
--no-gui::
When 'git-difftool' is invoked with the `-g` or `--gui` option When 'git-difftool' is invoked with the `-g` or `--gui` option
the default diff tool will be read from the configured the default diff tool will be read from the configured
`diff.guitool` variable instead of `diff.tool`. This may be `diff.guitool` variable instead of `diff.tool`. This may be
@@ -104,7 +106,8 @@ instead. `--no-symlinks` is the default on Windows.
fallback in the order of `merge.guitool`, `diff.tool`, fallback in the order of `merge.guitool`, `diff.tool`,
`merge.tool` until a tool is found. `merge.tool` until a tool is found.
--[no-]trust-exit-code:: --trust-exit-code::
--no-trust-exit-code::
Errors reported by the diff tool are ignored by default. Errors reported by the diff tool are ignored by default.
Use `--trust-exit-code` to make 'git-difftool' exit when an Use `--trust-exit-code` to make 'git-difftool' exit when an
invoked diff tool returns a non-zero exit code. invoked diff tool returns a non-zero exit code.

View File

@@ -111,7 +111,8 @@ Locations of Marks Files
Like --import-marks but instead of erroring out, silently Like --import-marks but instead of erroring out, silently
skips the file if it does not exist. skips the file if it does not exist.
--[no-]relative-marks:: --relative-marks::
--no-relative-marks::
After specifying --relative-marks the paths specified After specifying --relative-marks the paths specified
with --import-marks= and --export-marks= are relative with --import-marks= and --export-marks= are relative
to an internal directory in the current repository. to an internal directory in the current repository.

View File

@@ -35,7 +35,8 @@ OPTIONS
Do not list one-line descriptions from the actual commits being Do not list one-line descriptions from the actual commits being
merged. merged.
--[no-]summary:: --summary::
--no-summary::
Synonyms to --log and --no-log; these are deprecated and will be Synonyms to --log and --no-log; these are deprecated and will be
removed in the future. removed in the future.

View File

@@ -295,7 +295,8 @@ header). Note also that `git send-email` already handles this
transformation for you, and this option should not be used if you are transformation for you, and this option should not be used if you are
feeding the result to `git send-email`. feeding the result to `git send-email`.
--[no-]force-in-body-from:: --force-in-body-from::
--no-force-in-body-from::
With the e-mail sender specified via the `--from` option, by With the e-mail sender specified via the `--from` option, by
default, an in-body "From:" to identify the real author of default, an in-body "From:" to identify the real author of
the commit is added at the top of the commit log message if the commit is added at the top of the commit log message if
@@ -314,7 +315,8 @@ feeding the result to `git send-email`.
`Cc:`, and custom) headers added so far from config or command `Cc:`, and custom) headers added so far from config or command
line. line.
--[no-]cover-letter:: --cover-letter::
--no-cover-letter::
In addition to the patches, generate a cover letter file In addition to the patches, generate a cover letter file
containing the branch description, shortlog and the overall diffstat. You can containing the branch description, shortlog and the overall diffstat. You can
fill in a description in the file before sending it out. fill in a description in the file before sending it out.
@@ -379,7 +381,8 @@ configuration options in linkgit:git-notes[1] to use this workflow).
The default is `--no-notes`, unless the `format.notes` configuration is The default is `--no-notes`, unless the `format.notes` configuration is
set. set.
--[no-]signature=<signature>:: --signature=<signature>::
--no-signature::
Add a signature to each message produced. Per RFC 3676 the signature Add a signature to each message produced. Per RFC 3676 the signature
is separated from the body by a line with '-- ' on it. If the is separated from the body by a line with '-- ' on it. If the
signature option is omitted the signature defaults to the Git version signature option is omitted the signature defaults to the Git version
@@ -411,7 +414,8 @@ you can use `--suffix=-patch` to get `0001-description-of-my-change-patch`.
Output an all-zero hash in each patch's From header instead Output an all-zero hash in each patch's From header instead
of the hash of the commit. of the hash of the commit.
--[no-]base[=<commit>]:: --no-base::
--base[=<commit>]::
Record the base tree information to identify the state the Record the base tree information to identify the state the
patch series applies to. See the BASE TREE INFORMATION section patch series applies to. See the BASE TREE INFORMATION section
below for details. If <commit> is "auto", a base commit is below for details. If <commit> is "auto", a base commit is

View File

@@ -31,7 +31,8 @@ index file, all SHA-1 references in the `refs` namespace, and all reflogs
Print out objects that exist but that aren't reachable from any Print out objects that exist but that aren't reachable from any
of the reference nodes. of the reference nodes.
--[no-]dangling:: --dangling::
--no-dangling::
Print objects that exist but that are never 'directly' used (default). Print objects that exist but that are never 'directly' used (default).
`--no-dangling` can be used to omit this information from the output. `--no-dangling` can be used to omit this information from the output.
@@ -97,14 +98,16 @@ care about this output and want to speed it up further.
compatible with linkgit:git-rev-parse[1], e.g. compatible with linkgit:git-rev-parse[1], e.g.
`HEAD@{1234567890}~25^2:src/`. `HEAD@{1234567890}~25^2:src/`.
--[no-]progress:: --progress::
--no-progress::
Progress status is reported on the standard error stream by Progress status is reported on the standard error stream by
default when it is attached to a terminal, unless default when it is attached to a terminal, unless
--no-progress or --verbose is specified. --progress forces --no-progress or --verbose is specified. --progress forces
progress status even if the standard error stream is not progress status even if the standard error stream is not
directed to a terminal. directed to a terminal.
--[no-]references:: --references::
--no-references::
Control whether to check the references database consistency Control whether to check the references database consistency
via 'git refs verify'. See linkgit:git-refs[1] for details. via 'git refs verify'. See linkgit:git-refs[1] for details.
The default is to check the references database. The default is to check the references database.

View File

@@ -53,11 +53,13 @@ configuration options such as `gc.auto` and `gc.autoPackLimit`, all
other housekeeping tasks (e.g. rerere, working trees, reflog...) will other housekeeping tasks (e.g. rerere, working trees, reflog...) will
be performed as well. be performed as well.
--[no-]detach:: --detach::
--no-detach::
Run in the background if the system supports it. This option overrides Run in the background if the system supports it. This option overrides
the `gc.autoDetach` config. the `gc.autoDetach` config.
--[no-]cruft:: --cruft::
--no-cruft::
When expiring unreachable objects, pack them separately into a When expiring unreachable objects, pack them separately into a
cruft pack instead of storing them as loose objects. `--cruft` cruft pack instead of storing them as loose objects. `--cruft`
is on by default. is on by default.

View File

@@ -36,7 +36,8 @@ OPTIONS
fails if the name of packed archive does not end fails if the name of packed archive does not end
with .pack). with .pack).
--[no-]rev-index:: --rev-index::
--no-rev-index::
When this flag is provided, generate a reverse index When this flag is provided, generate a reverse index
(a `.rev` file) corresponding to the given pack. If (a `.rev` file) corresponding to the given pack. If
`--verify` is given, ensure that the existing `--verify` is given, ensure that the existing

View File

@@ -73,8 +73,10 @@ used as decoration if they match `HEAD`, `refs/heads/`, `refs/remotes/`,
Print out the ref name given on the command line by which each Print out the ref name given on the command line by which each
commit was reached. commit was reached.
`--[no-]mailmap`:: `--mailmap`::
`--[no-]use-mailmap`:: `--no-mailmap`::
`--use-mailmap`::
`--no-use-mailmap`::
Use mailmap file to map author and committer names and email Use mailmap file to map author and committer names and email
addresses to canonical real names and email addresses. See addresses to canonical real names and email addresses. See
linkgit:git-shortlog[1]. linkgit:git-shortlog[1].

View File

@@ -59,7 +59,8 @@ OPTIONS
do not list filenames multiple times if they have multiple do not list filenames multiple times if they have multiple
conflicting stages). conflicting stages).
--[no-]messages:: --messages::
--no-messages::
Write any informational messages such as "Auto-merging <path>" Write any informational messages such as "Auto-merging <path>"
or CONFLICT notices to the end of stdout. If unspecified, the or CONFLICT notices to the end of stdout. If unspecified, the
default is to include these messages if there are merge default is to include these messages if there are merge

View File

@@ -25,7 +25,8 @@ OPTIONS
+ +
`<dir>` must be an alternate of the current repository. `<dir>` must be an alternate of the current repository.
--[no-]progress:: --progress::
--no-progress::
Turn progress on/off explicitly. If neither is specified, progress is Turn progress on/off explicitly. If neither is specified, progress is
shown if standard error is connected to a terminal. Supported by shown if standard error is connected to a terminal. Supported by
sub-commands `write`, `verify`, `expire`, and `repack. sub-commands `write`, `verify`, `expire`, and `repack.

View File

@@ -243,7 +243,8 @@ depth is 4095.
Add --no-reuse-object if you want to force a uniform compression Add --no-reuse-object if you want to force a uniform compression
level on all data no matter the source. level on all data no matter the source.
--[no-]sparse:: --sparse::
--no-sparse::
Toggle the "sparse" algorithm to determine which objects to include in Toggle the "sparse" algorithm to determine which objects to include in
the pack, when combined with the "--revs" option. This algorithm the pack, when combined with the "--revs" option. This algorithm
only walks trees that appear in paths that introduce new objects. only walks trees that appear in paths that introduce new objects.

View File

@@ -87,7 +87,8 @@ OPTIONS
--verbose:: --verbose::
Pass --verbose to git-fetch and git-merge. Pass --verbose to git-fetch and git-merge.
--[no-]recurse-submodules[=(yes|on-demand|no)]:: --recurse-submodules[=(yes|on-demand|no)]::
--no-recurse-submodules::
This option controls if new commits of populated submodules should This option controls if new commits of populated submodules should
be fetched, and if the working trees of active submodules should be be fetched, and if the working trees of active submodules should be
updated, too (see linkgit:git-fetch[1], linkgit:git-config[1] and updated, too (see linkgit:git-fetch[1], linkgit:git-config[1] and

View File

@@ -197,7 +197,8 @@ already exists on the remote side.
with configuration variable `push.followTags`. For more with configuration variable `push.followTags`. For more
information, see `push.followTags` in linkgit:git-config[1]. information, see `push.followTags` in linkgit:git-config[1].
--[no-]signed:: --signed::
--no-signed::
--signed=(true|false|if-asked):: --signed=(true|false|if-asked)::
GPG-sign the push request to update refs on the receiving GPG-sign the push request to update refs on the receiving
side, to allow it to be checked by the hooks and/or be side, to allow it to be checked by the hooks and/or be
@@ -208,7 +209,8 @@ already exists on the remote side.
will also fail if the actual call to `gpg --sign` fails. See will also fail if the actual call to `gpg --sign` fails. See
linkgit:git-receive-pack[1] for the details on the receiving end. linkgit:git-receive-pack[1] for the details on the receiving end.
--[no-]atomic:: --atomic::
--no-atomic::
Use an atomic transaction on the remote side if available. Use an atomic transaction on the remote side if available.
Either all refs are updated, or on error, no refs are updated. Either all refs are updated, or on error, no refs are updated.
If the server does not support atomic pushes the push will fail. If the server does not support atomic pushes the push will fail.
@@ -232,7 +234,8 @@ already exists on the remote side.
repository over ssh, and you do not have the program in repository over ssh, and you do not have the program in
a directory on the default $PATH. a directory on the default $PATH.
--[no-]force-with-lease:: --force-with-lease::
--no-force-with-lease::
--force-with-lease=<refname>:: --force-with-lease=<refname>::
--force-with-lease=<refname>:<expect>:: --force-with-lease=<refname>:<expect>::
Usually, "git push" refuses to update a remote ref that is Usually, "git push" refuses to update a remote ref that is
@@ -350,7 +353,8 @@ one branch, use a `+` in front of the refspec to push (e.g `git push
origin +master` to force a push to the `master` branch). See the origin +master` to force a push to the `master` branch). See the
`<refspec>...` section above for details. `<refspec>...` section above for details.
--[no-]force-if-includes:: --force-if-includes::
--no-force-if-includes::
Force an update only if the tip of the remote-tracking ref Force an update only if the tip of the remote-tracking ref
has been integrated locally. has been integrated locally.
+ +
@@ -377,7 +381,8 @@ Specifying `--no-force-if-includes` disables this behavior.
linkgit:git-pull[1] and other commands. For more information, linkgit:git-pull[1] and other commands. For more information,
see `branch.<name>.merge` in linkgit:git-config[1]. see `branch.<name>.merge` in linkgit:git-config[1].
--[no-]thin:: --thin::
--no-thin::
These options are passed to linkgit:git-send-pack[1]. A thin transfer These options are passed to linkgit:git-send-pack[1]. A thin transfer
significantly reduces the amount of sent data when the sender and significantly reduces the amount of sent data when the sender and
receiver share many of the same objects in common. The default is receiver share many of the same objects in common. The default is
@@ -419,7 +424,8 @@ When using 'on-demand' or 'only', if a submodule has a
"push.recurseSubmodules={on-demand,only}" or "submodule.recurse" configuration, "push.recurseSubmodules={on-demand,only}" or "submodule.recurse" configuration,
further recursion will occur. In this case, "only" is treated as "on-demand". further recursion will occur. In this case, "only" is treated as "on-demand".
--[no-]verify:: --verify::
--no-verify::
Toggle the pre-push hook (see linkgit:githooks[5]). The Toggle the pre-push hook (see linkgit:githooks[5]). The
default is --verify, giving the hook a chance to prevent the default is --verify, giving the hook a chance to prevent the
push. With --no-verify, the hook is bypassed completely. push. With --no-verify, the hook is bypassed completely.

View File

@@ -96,7 +96,8 @@ diff.
--remerge-diff:: --remerge-diff::
Convenience option, equivalent to `--diff-merges=remerge`. Convenience option, equivalent to `--diff-merges=remerge`.
--[no-]notes[=<ref>]:: --notes[=<ref>]::
--no-notes::
This flag is passed to the `git log` program This flag is passed to the `git log` program
(see linkgit:git-log[1]) that generates the patches. (see linkgit:git-log[1]) that generates the patches.

View File

@@ -100,7 +100,8 @@ OPTIONS
directories the index file and index output file are directories the index file and index output file are
located in. located in.
--[no-]recurse-submodules:: --recurse-submodules::
--no-recurse-submodules::
Using --recurse-submodules will update the content of all active Using --recurse-submodules will update the content of all active
submodules according to the commit recorded in the superproject by submodules according to the commit recorded in the superproject by
calling read-tree recursively, also setting the submodules' HEAD to be calling read-tree recursively, also setting the submodules' HEAD to be

View File

@@ -90,7 +90,8 @@ but carries forward unmerged index entries.
If a file that is different between _<commit>_ and `HEAD` has local If a file that is different between _<commit>_ and `HEAD` has local
changes, reset is aborted. changes, reset is aborted.
`--[no-]recurse-submodules`:: `--recurse-submodules`::
`--no-recurse-submodules`::
When the working tree is updated, using `--recurse-submodules` will When the working tree is updated, using `--recurse-submodules` will
also recursively reset the working tree of all active submodules also recursively reset the working tree of all active submodules
according to the commit recorded in the superproject, also setting according to the commit recorded in the superproject, also setting

View File

@@ -115,7 +115,8 @@ illustration below where `[PATCH v2 0/3]` is in reply to `[PATCH 0/2]`:
Only necessary if `--compose` is also set. If `--compose` Only necessary if `--compose` is also set. If `--compose`
is not set, this will be prompted for. is not set, this will be prompted for.
--[no-]outlook-id-fix:: --outlook-id-fix::
--no-outlook-id-fix::
Microsoft Outlook SMTP servers discard the Message-ID sent via email and Microsoft Outlook SMTP servers discard the Message-ID sent via email and
assign a new random Message-ID, thus breaking threads. assign a new random Message-ID, thus breaking threads.
+ +
@@ -350,7 +351,8 @@ Automating
--no-header-cmd:: --no-header-cmd::
Disable any header command in use. Disable any header command in use.
--[no-]chain-reply-to:: --chain-reply-to::
--no-chain-reply-to::
If this is set, each email will be sent as a reply to the previous If this is set, each email will be sent as a reply to the previous
email sent. If disabled with `--no-chain-reply-to`, all emails after email sent. If disabled with `--no-chain-reply-to`, all emails after
the first will be sent as replies to the first email sent. When using the first will be sent as replies to the first email sent. When using
@@ -364,19 +366,22 @@ Automating
values in the `sendemail` section. The default identity is values in the `sendemail` section. The default identity is
the value of `sendemail.identity`. the value of `sendemail.identity`.
--[no-]signed-off-by-cc:: --signed-off-by-cc::
--no-signed-off-by-cc::
If this is set, add emails found in the `Signed-off-by` trailer or `Cc:` If this is set, add emails found in the `Signed-off-by` trailer or `Cc:`
lines to the cc list. Default is the value of `sendemail.signedOffByCc` lines to the cc list. Default is the value of `sendemail.signedOffByCc`
configuration value; if that is unspecified, default to configuration value; if that is unspecified, default to
`--signed-off-by-cc`. `--signed-off-by-cc`.
--[no-]cc-cover:: --cc-cover::
--no-cc-cover::
If this is set, emails found in `Cc:` headers in the first patch of If this is set, emails found in `Cc:` headers in the first patch of
the series (typically the cover letter) are added to the cc list the series (typically the cover letter) are added to the cc list
for each email set. Default is the value of `sendemail.ccCover` for each email set. Default is the value of `sendemail.ccCover`
configuration value; if that is unspecified, default to `--no-cc-cover`. configuration value; if that is unspecified, default to `--no-cc-cover`.
--[no-]to-cover:: --to-cover::
--no-to-cover::
If this is set, emails found in `To:` headers in the first patch of If this is set, emails found in `To:` headers in the first patch of
the series (typically the cover letter) are added to the to list the series (typically the cover letter) are added to the to list
for each email set. Default is the value of `sendemail.toCover` for each email set. Default is the value of `sendemail.toCover`
@@ -407,12 +412,14 @@ Default is the value of `sendemail.suppressCc` configuration value; if
that is unspecified, default to `self` if `--suppress-from` is that is unspecified, default to `self` if `--suppress-from` is
specified, as well as `body` if `--no-signed-off-cc` is specified. specified, as well as `body` if `--no-signed-off-cc` is specified.
--[no-]suppress-from:: --suppress-from::
--no-suppress-from::
If this is set, do not add the `From:` address to the `Cc:` list. If this is set, do not add the `From:` address to the `Cc:` list.
Default is the value of `sendemail.suppressFrom` configuration Default is the value of `sendemail.suppressFrom` configuration
value; if that is unspecified, default to `--no-suppress-from`. value; if that is unspecified, default to `--no-suppress-from`.
--[no-]thread:: --thread::
--no-thread::
If this is set, the `In-Reply-To` and `References` headers will be If this is set, the `In-Reply-To` and `References` headers will be
added to each email sent. Whether each mail refers to the added to each email sent. Whether each mail refers to the
previous email (`deep` threading per `git format-patch` previous email (`deep` threading per `git format-patch`
@@ -430,7 +437,8 @@ exists when `git send-email` is asked to add it (especially note that
Failure to do so may not produce the expected result in the Failure to do so may not produce the expected result in the
recipient's MUA. recipient's MUA.
--[no-]mailmap:: --mailmap::
--no-mailmap::
Use the mailmap file (see linkgit:gitmailmap[5]) to map all Use the mailmap file (see linkgit:gitmailmap[5]) to map all
addresses to their canonical real name and email address. Additional addresses to their canonical real name and email address. Additional
mailmap data specific to `git send-email` may be provided using the mailmap data specific to `git send-email` may be provided using the
@@ -459,7 +467,8 @@ have been specified, in which case default to `compose`.
--dry-run:: --dry-run::
Do everything except actually send the emails. Do everything except actually send the emails.
--[no-]format-patch:: --format-patch::
--no-format-patch::
When an argument may be understood either as a reference or as a file name, When an argument may be understood either as a reference or as a file name,
choose to understand it as a format-patch argument (`--format-patch`) choose to understand it as a format-patch argument (`--format-patch`)
or as a file name (`--no-format-patch`). By default, when such a conflict or as a file name (`--no-format-patch`). By default, when such a conflict
@@ -469,7 +478,8 @@ have been specified, in which case default to `compose`.
Make `git send-email` less verbose. One line per email should be Make `git send-email` less verbose. One line per email should be
all that is output. all that is output.
--[no-]validate:: --validate::
--no-validate::
Perform sanity checks on patches. Perform sanity checks on patches.
Currently, validation means the following: Currently, validation means the following:
+ +

View File

@@ -71,7 +71,8 @@ be in a separate packet, and the list must end with a flush packet.
fails to update then the entire push will fail without changing any fails to update then the entire push will fail without changing any
refs. refs.
--[no-]signed:: --signed::
--no-signed::
--signed=(true|false|if-asked):: --signed=(true|false|if-asked)::
GPG-sign the push request to update refs on the receiving GPG-sign the push request to update refs on the receiving
side, to allow it to be checked by the hooks and/or be side, to allow it to be checked by the hooks and/or be

View File

@@ -435,7 +435,8 @@ options carefully.
clone with a history truncated to the specified number of revisions. clone with a history truncated to the specified number of revisions.
See linkgit:git-clone[1] See linkgit:git-clone[1]
--[no-]recommend-shallow:: --recommend-shallow::
--no-recommend-shallow::
This option is only valid for the update command. This option is only valid for the update command.
The initial clone of a submodule will use the recommended The initial clone of a submodule will use the recommended
`submodule.<name>.shallow` as provided by the `.gitmodules` file `submodule.<name>.shallow` as provided by the `.gitmodules` file
@@ -447,7 +448,8 @@ options carefully.
Clone new submodules in parallel with as many jobs. Clone new submodules in parallel with as many jobs.
Defaults to the `submodule.fetchJobs` option. Defaults to the `submodule.fetchJobs` option.
--[no-]single-branch:: --single-branch::
--no-single-branch::
This option is only valid for the update command. This option is only valid for the update command.
Clone only one branch during update: HEAD or one specified by --branch. Clone only one branch during update: HEAD or one specified by --branch.

View File

@@ -86,7 +86,8 @@ OPTIONS
--chmod=(+|-)x:: --chmod=(+|-)x::
Set the execute permissions on the updated files. Set the execute permissions on the updated files.
--[no-]assume-unchanged:: --assume-unchanged::
--no-assume-unchanged::
When this flag is specified, the object names recorded When this flag is specified, the object names recorded
for the paths are not updated. Instead, this option for the paths are not updated. Instead, this option
sets/unsets the "assume unchanged" bit for the sets/unsets the "assume unchanged" bit for the
@@ -108,18 +109,21 @@ you will need to handle the situation manually.
Like `--refresh`, but checks stat information unconditionally, Like `--refresh`, but checks stat information unconditionally,
without regard to the "assume unchanged" setting. without regard to the "assume unchanged" setting.
--[no-]skip-worktree:: --skip-worktree::
--no-skip-worktree::
When one of these flags is specified, the object names recorded When one of these flags is specified, the object names recorded
for the paths are not updated. Instead, these options for the paths are not updated. Instead, these options
set and unset the "skip-worktree" bit for the paths. See set and unset the "skip-worktree" bit for the paths. See
section "Skip-worktree bit" below for more information. section "Skip-worktree bit" below for more information.
--[no-]ignore-skip-worktree-entries:: --ignore-skip-worktree-entries::
--no-ignore-skip-worktree-entries::
Do not remove skip-worktree (AKA "index-only") entries even when Do not remove skip-worktree (AKA "index-only") entries even when
the `--remove` option was specified. the `--remove` option was specified.
--[no-]fsmonitor-valid:: --fsmonitor-valid::
--no-fsmonitor-valid::
When one of these flags is specified, the object names recorded When one of these flags is specified, the object names recorded
for the paths are not updated. Instead, these options for the paths are not updated. Instead, these options
set and unset the "fsmonitor valid" bit for the paths. See set and unset the "fsmonitor valid" bit for the paths. See

View File

@@ -25,7 +25,8 @@ repository. For push operations, see 'git send-pack'.
OPTIONS OPTIONS
------- -------
--[no-]strict:: --strict::
--no-strict::
Do not try <directory>/.git/ if <directory> is not a Git directory. Do not try <directory>/.git/ if <directory> is not a Git directory.
--timeout=<n>:: --timeout=<n>::

View File

@@ -200,13 +200,15 @@ To remove a locked worktree, specify `--force` twice.
With `add`, detach `HEAD` in the new worktree. See "DETACHED HEAD" With `add`, detach `HEAD` in the new worktree. See "DETACHED HEAD"
in linkgit:git-checkout[1]. in linkgit:git-checkout[1].
--[no-]checkout:: --checkout::
--no-checkout::
By default, `add` checks out `<commit-ish>`, however, `--no-checkout` can By default, `add` checks out `<commit-ish>`, however, `--no-checkout` can
be used to suppress checkout in order to make customizations, be used to suppress checkout in order to make customizations,
such as configuring sparse-checkout. See "Sparse checkout" such as configuring sparse-checkout. See "Sparse checkout"
in linkgit:git-read-tree[1]. in linkgit:git-read-tree[1].
--[no-]guess-remote:: --guess-remote::
--no-guess-remote::
With `worktree add <path>`, without `<commit-ish>`, instead With `worktree add <path>`, without `<commit-ish>`, instead
of creating a new branch from `HEAD`, if there exists a tracking of creating a new branch from `HEAD`, if there exists a tracking
branch in exactly one remote matching the basename of `<path>`, branch in exactly one remote matching the basename of `<path>`,
@@ -216,7 +218,8 @@ To remove a locked worktree, specify `--force` twice.
This can also be set up as the default behaviour by using the This can also be set up as the default behaviour by using the
`worktree.guessRemote` config option. `worktree.guessRemote` config option.
--[no-]relative-paths:: --relative-paths::
--no-relative-paths::
Link worktrees using relative paths or absolute paths (default). Link worktrees using relative paths or absolute paths (default).
Overrides the `worktree.useRelativePaths` config option, see Overrides the `worktree.useRelativePaths` config option, see
linkgit:git-config[1]. linkgit:git-config[1].
@@ -224,7 +227,8 @@ This can also be set up as the default behaviour by using the
With `repair`, the linking files will be updated if there's an absolute/relative With `repair`, the linking files will be updated if there's an absolute/relative
mismatch, even if the links are correct. mismatch, even if the links are correct.
--[no-]track:: --track::
--no-track::
When creating a new branch, if `<commit-ish>` is a branch, When creating a new branch, if `<commit-ish>` is a branch,
mark it as "upstream" from the new branch. This is the mark it as "upstream" from the new branch. This is the
default if `<commit-ish>` is a remote-tracking branch. See default if `<commit-ish>` is a remote-tracking branch. See

View File

@@ -18,6 +18,9 @@ while (my $line = <>) {
report($line, "multiple parameters in a definition list item"); report($line, "multiple parameters in a definition list item");
} }
if ($line =~ /^`?--\[no-\][a-z0-9-]+.*(::|;;)$/) {
report($line, "definition list item with a `--[no-]` parameter");
}
} }

View File

@@ -135,7 +135,8 @@ ifdef::git-pull[]
Only useful when merging. Only useful when merging.
endif::git-pull[] endif::git-pull[]
`--[no-]verify`:: `--verify`::
`--no-verify`::
By default, the pre-merge and commit-msg hooks are run. By default, the pre-merge and commit-msg hooks are run.
When `--no-verify` is given, these are bypassed. When `--no-verify` is given, these are bypassed.
See also linkgit:githooks[5]. See also linkgit:githooks[5].

View File

@@ -71,7 +71,8 @@ HEAD[:<directory>]`.
Instead of checking out the branch pointed to by the cloned Instead of checking out the branch pointed to by the cloned
repository's HEAD, check out the `<name>` branch instead. repository's HEAD, check out the `<name>` branch instead.
--[no-]single-branch:: --single-branch::
--no-single-branch::
Clone only the history leading to the tip of a single branch, either Clone only the history leading to the tip of a single branch, either
specified by the `--branch` option or the primary branch remote's specified by the `--branch` option or the primary branch remote's
`HEAD` points at. `HEAD` points at.
@@ -81,23 +82,27 @@ remote-tracking branch for the branch this option was used for the initial
cloning. If the HEAD at the remote did not point at any branch when cloning. If the HEAD at the remote did not point at any branch when
`--single-branch` clone was made, no remote-tracking branch is created. `--single-branch` clone was made, no remote-tracking branch is created.
--[no-]src:: --src::
--no-src::
By default, `scalar clone` places the cloned repository within a By default, `scalar clone` places the cloned repository within a
`<entlistment>/src` directory. Use `--no-src` to place the cloned `<entlistment>/src` directory. Use `--no-src` to place the cloned
repository directly in the `<enlistment>` directory. repository directly in the `<enlistment>` directory.
--[no-]tags:: --tags::
--no-tags::
By default, `scalar clone` will fetch the tag objects advertised by By default, `scalar clone` will fetch the tag objects advertised by
the remote and future `git fetch` commands will do the same. Use the remote and future `git fetch` commands will do the same. Use
`--no-tags` to avoid fetching tags in `scalar clone` and to configure `--no-tags` to avoid fetching tags in `scalar clone` and to configure
the repository to avoid fetching tags in the future. To fetch tags after the repository to avoid fetching tags in the future. To fetch tags after
cloning with `--no-tags`, run `git fetch --tags`. cloning with `--no-tags`, run `git fetch --tags`.
--[no-]full-clone:: --full-clone::
--no-full-clone::
A sparse-checkout is initialized by default. This behavior can be A sparse-checkout is initialized by default. This behavior can be
turned off via `--full-clone`. turned off via `--full-clone`.
--[no-]maintenance:: --maintenance::
--no-maintenance::
By default, `scalar clone` configures the enlistment to use Git's By default, `scalar clone` configures the enlistment to use Git's
background maintenance feature. Use the `--no-maintenance` to skip background maintenance feature. Use the `--no-maintenance` to skip
this configuration. this configuration.
@@ -122,7 +127,8 @@ Note: when this subcommand is called in a worktree that is called `src/`, its
parent directory is considered to be the Scalar enlistment. If the worktree is parent directory is considered to be the Scalar enlistment. If the worktree is
_not_ called `src/`, it itself will be considered to be the Scalar enlistment. _not_ called `src/`, it itself will be considered to be the Scalar enlistment.
--[no-]maintenance:: --maintenance::
--no-maintenance::
By default, `scalar register` configures the enlistment to use Git's By default, `scalar register` configures the enlistment to use Git's
background maintenance feature. Use the `--no-maintenance` to skip background maintenance feature. Use the `--no-maintenance` to skip
this configuration. This does not disable any maintenance that may this configuration. This does not disable any maintenance that may