doc: convert git-restore to new style format

- Switch the synopsis to a 'synopsis' block which will
  automatically format placeholders in italics and keywords in
  monospace

- Use _<placeholder>_ instead of <placeholder> in the description

- Use backticks for keywords and more complex option
descriptions. The new rendering engine will apply synopsis rules to
these spans.

While at it, also convert an option description to imperative mood.

Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Jean-Noël Avila 2025-01-10 10:09:19 +00:00 committed by Junio C Hamano
parent 1b4e9a5f8b
commit 69666e6746
1 changed files with 54 additions and 54 deletions

View File

@ -7,10 +7,10 @@ git-restore - Restore working tree files


SYNOPSIS SYNOPSIS
-------- --------
[verse] [synopsis]
'git restore' [<options>] [--source=<tree>] [--staged] [--worktree] [--] <pathspec>... git restore [<options>] [--source=<tree>] [--staged] [--worktree] [--] <pathspec>...
'git restore' [<options>] [--source=<tree>] [--staged] [--worktree] --pathspec-from-file=<file> [--pathspec-file-nul] git restore [<options>] [--source=<tree>] [--staged] [--worktree] --pathspec-from-file=<file> [--pathspec-file-nul]
'git restore' (-p|--patch) [<options>] [--source=<tree>] [--staged] [--worktree] [--] [<pathspec>...] git restore (-p|--patch) [<options>] [--source=<tree>] [--staged] [--worktree] [--] [<pathspec>...]


DESCRIPTION DESCRIPTION
----------- -----------
@ -32,8 +32,8 @@ THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.


OPTIONS OPTIONS
------- -------
-s <tree>:: `-s <tree>`::
--source=<tree>:: `--source=<tree>`::
Restore the working tree files with the content from the given Restore the working tree files with the content from the given
tree. It is common to specify the source tree by naming a tree. It is common to specify the source tree by naming a
commit, branch or tag associated with it. commit, branch or tag associated with it.
@ -41,79 +41,79 @@ OPTIONS
If not specified, the contents are restored from `HEAD` if `--staged` is If not specified, the contents are restored from `HEAD` if `--staged` is
given, otherwise from the index. given, otherwise from the index.
+ +
As a special case, you may use `"A...B"` as a shortcut for the As a special case, you may use `"<rev-A>...<rev-B>"` as a shortcut for the
merge base of `A` and `B` if there is exactly one merge base. You can merge base of _<rev-A>_ and _<rev-B>_ if there is exactly one merge base. You can
leave out at most one of `A` and `B`, in which case it defaults to `HEAD`. leave out at most one of _<rev-A>__ and _<rev-B>_, in which case it defaults to `HEAD`.


-p:: `-p`::
--patch:: `--patch`::
Interactively select hunks in the difference between the Interactively select hunks in the difference between the
restore source and the restore location. See the ``Interactive restore source and the restore location. See the "Interactive
Mode'' section of linkgit:git-add[1] to learn how to operate Mode" section of linkgit:git-add[1] to learn how to operate
the `--patch` mode. the `--patch` mode.
+ +
Note that `--patch` can accept no pathspec and will prompt to restore Note that `--patch` can accept no pathspec and will prompt to restore
all modified paths. all modified paths.


-W:: `-W`::
--worktree:: `--worktree`::
-S:: `-S`::
--staged:: `--staged`::
Specify the restore location. If neither option is specified, Specify the restore location. If neither option is specified,
by default the working tree is restored. Specifying `--staged` by default the working tree is restored. Specifying `--staged`
will only restore the index. Specifying both restores both. will only restore the index. Specifying both restores both.


-q:: `-q`::
--quiet:: `--quiet`::
Quiet, suppress feedback messages. Implies `--no-progress`. Quiet, suppress feedback messages. Implies `--no-progress`.


--progress:: `--progress`::
--no-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, unless `--quiet` by default when it is attached to a terminal, unless `--quiet`
is specified. This flag enables progress reporting even if not is specified. This flag enables progress reporting even if not
attached to a terminal, regardless of `--quiet`. attached to a terminal, regardless of `--quiet`.


--ours:: `--ours`::
--theirs:: `--theirs`::
When restoring files in the working tree from the index, use When restoring files in the working tree from the index, use
stage #2 ('ours') or #3 ('theirs') for unmerged paths. stage #2 (`ours`) or #3 (`theirs`) for unmerged paths.
This option cannot be used when checking out paths from a This option cannot be used when checking out paths from a
tree-ish (i.e. with the `--source` option). tree-ish (i.e. with the `--source` option).
+ +
Note that during `git rebase` and `git pull --rebase`, 'ours' and Note that during `git rebase` and `git pull --rebase`, `ours` and
'theirs' may appear swapped. See the explanation of the same options `theirs` may appear swapped. See the explanation of the same options
in linkgit:git-checkout[1] for details. in linkgit:git-checkout[1] for details.


-m:: `-m`::
--merge:: `--merge`::
When restoring files on the working tree from the index, When restoring files on the working tree from the index,
recreate the conflicted merge in the unmerged paths. recreate the conflicted merge in the unmerged paths.
This option cannot be used when checking out paths from a This option cannot be used when checking out paths from a
tree-ish (i.e. with the `--source` option). tree-ish (i.e. with the `--source` option).


--conflict=<style>:: `--conflict=<style>`::
The same as `--merge` option above, but changes the way the The same as `--merge` option above, but changes the way the
conflicting hunks are presented, overriding the conflicting hunks are presented, overriding the
`merge.conflictStyle` configuration variable. Possible values `merge.conflictStyle` configuration variable. Possible values
are "merge" (default), "diff3", and "zdiff3". are `merge` (default), `diff3`, and `zdiff3`.


--ignore-unmerged:: `--ignore-unmerged`::
When restoring files on the working tree from the index, do When restoring files on the working tree from the index, do
not abort the operation if there are unmerged entries and not abort the operation if there are unmerged entries and
neither `--ours`, `--theirs`, `--merge` or `--conflict` is neither `--ours`, `--theirs`, `--merge` or `--conflict` is
specified. Unmerged paths on the working tree are left alone. specified. Unmerged paths on the working tree are left alone.


--ignore-skip-worktree-bits:: `--ignore-skip-worktree-bits`::
In sparse checkout mode, the default is to only update entries In sparse checkout mode, the default is to only update entries
matched by `<pathspec>` and sparse patterns in matched by _<pathspec>_ and sparse patterns in
$GIT_DIR/info/sparse-checkout. This option ignores the sparse `$GIT_DIR/info/sparse-checkout`. This option ignores the sparse
patterns and unconditionally restores any files in patterns and unconditionally restores any files in
`<pathspec>`. _<pathspec>_.


--recurse-submodules:: `--recurse-submodules`::
--no-recurse-submodules:: `--no-recurse-submodules`::
If `<pathspec>` names an active submodule and the restore location If _<pathspec>_ names an active submodule and the restore location
includes the working tree, the submodule will only be updated if includes the working tree, the submodule will only be updated if
this option is given, in which case its working tree will be this option is given, in which case its working tree will be
restored to the commit recorded in the superproject, and any local restored to the commit recorded in the superproject, and any local
@ -122,30 +122,30 @@ in linkgit:git-checkout[1] for details.
not be updated. Just like linkgit:git-checkout[1], this will detach not be updated. Just like linkgit:git-checkout[1], this will detach
`HEAD` of the submodule. `HEAD` of the submodule.


--overlay:: `--overlay`::
--no-overlay:: `--no-overlay`::
In overlay mode, the command never removes files when In overlay mode, never remove files when restoring. In no-overlay mode,
restoring. In no-overlay mode, tracked files that do not remove tracked files that do not appear in the _<tree>_ of
appear in the `--source` tree are removed, to make them match `--source=<tree>`, to make them match _<tree>_ exactly. The default
`<tree>` exactly. The default is no-overlay mode. is no-overlay mode.


--pathspec-from-file=<file>:: `--pathspec-from-file=<file>`::
Pathspec is passed in `<file>` instead of commandline args. If Pathspec is passed in _<file>_ instead of commandline args. If
`<file>` is exactly `-` then standard input is used. Pathspec _<file>_ is exactly `-` then standard input is used. Pathspec
elements are separated by LF or CR/LF. Pathspec elements can be elements are separated by _LF_ or _CR_/_LF_. Pathspec elements can be
quoted as explained for the configuration variable `core.quotePath` quoted as explained for the configuration variable `core.quotePath`
(see linkgit:git-config[1]). See also `--pathspec-file-nul` and (see linkgit:git-config[1]). See also `--pathspec-file-nul` and
global `--literal-pathspecs`. global `--literal-pathspecs`.


--pathspec-file-nul:: `--pathspec-file-nul`::
Only meaningful with `--pathspec-from-file`. Pathspec elements are Only meaningful with `--pathspec-from-file`. Pathspec elements are
separated with NUL character and all other characters are taken separated with _NUL_ character and all other characters are taken
literally (including newlines and quotes). literally (including newlines and quotes).


\--:: `--`::
Do not interpret any more arguments as options. Do not interpret any more arguments as options.


<pathspec>...:: `<pathspec>...`::
Limits the paths affected by the operation. Limits the paths affected by the operation.
+ +
For more details, see the 'pathspec' entry in linkgit:gitglossary[7]. For more details, see the 'pathspec' entry in linkgit:gitglossary[7].
@ -154,7 +154,7 @@ EXAMPLES
-------- --------


The following sequence switches to the `master` branch, reverts the The following sequence switches to the `master` branch, reverts the
`Makefile` to two revisions back, deletes hello.c by mistake, and gets `Makefile` to two revisions back, deletes `hello.c` by mistake, and gets
it back from the index. it back from the index.


------------ ------------
@ -165,7 +165,7 @@ $ git restore hello.c <2>
------------ ------------


<1> take a file out of another commit <1> take a file out of another commit
<2> restore hello.c from the index <2> restore `hello.c` from the index


If you want to restore _all_ C source files to match the version in If you want to restore _all_ C source files to match the version in
the index, you can say the index, you can say