Skip to content

Commit 2030f00

Browse files
committed
Autogenerated HTML docs for v2.51.2-560-g57da3
1 parent 3470bca commit 2030f00

File tree

9 files changed

+165
-38
lines changed

9 files changed

+165
-38
lines changed

RelNotes/2.52.0.adoc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,13 @@ UI, Workflows & Features
5757

5858
* Show 'P'ipe command in "git add -p".
5959

60+
* "git sparse-checkout" subcommand learned a new "clean" action to
61+
prune otherwise unused working-tree files that are outside the
62+
areas of interest.
63+
64+
* "git fast-import" is taught to handle signed tags, just like it
65+
recently learned to handle signed commits, in different ways.
66+
6067

6168
Performance, Internal Implementation, Development Support etc.
6269
--------------------------------------------------------------
@@ -137,6 +144,8 @@ Performance, Internal Implementation, Development Support etc.
137144
* Build procedure for a few credential helpers (in contrib/) have
138145
been updated.
139146
147+
* CI improvements to handle the recent Rust integration better.
148+
140149
141150
Fixes since v2.51
142151
-----------------

cmds-mainporcelain.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ linkgit:git-switch[1]::
122122
Switch branches.
123123

124124
linkgit:git-tag[1]::
125-
Create, list, delete or verify a tag object signed with GPG.
125+
Create, list, delete or verify tags.
126126

127127
linkgit:git-worktree[1]::
128128
Manage multiple working trees.

git-fast-import.adoc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@ fast-import stream! This option is enabled automatically for
6666
remote-helpers that use the `import` capability, as they are
6767
already trusted to run their own code.
6868

69+
--signed-tags=(verbatim|warn-verbatim|warn-strip|strip|abort)::
70+
Specify how to handle signed tags. Behaves in the same way
71+
as the same option in linkgit:git-fast-export[1], except that
72+
default is 'verbatim' (instead of 'abort').
73+
6974
--signed-commits=(verbatim|warn-verbatim|warn-strip|strip|abort)::
7075
Specify how to handle signed commits. Behaves in the same way
7176
as the same option in linkgit:git-fast-export[1], except that

git-fast-import.html

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,12 @@ <h2 id="_options">OPTIONS</h2>
523523
already trusted to run their own code.</p>
524524
</div>
525525
</dd>
526+
<dt class="hdlist1">--signed-tags=(verbatim|warn-verbatim|warn-strip|strip|abort)</dt>
527+
<dd>
528+
<p>Specify how to handle signed tags. Behaves in the same way
529+
as the same option in <a href="git-fast-export.html">git-fast-export(1)</a>, except that
530+
default is <em>verbatim</em> (instead of <em>abort</em>).</p>
531+
</dd>
526532
<dt class="hdlist1">--signed-commits=(verbatim|warn-verbatim|warn-strip|strip|abort)</dt>
527533
<dd>
528534
<p>Specify how to handle signed commits. Behaves in the same way
@@ -2613,7 +2619,7 @@ <h2 id="_git">GIT</h2>
26132619
</div>
26142620
<div id="footer">
26152621
<div id="footer-text">
2616-
Last updated 2025-10-02 14:07:14 -0700
2622+
Last updated 2025-10-28 12:16:15 -0700
26172623
</div>
26182624
</div>
26192625
</body>

git-sparse-checkout.adoc

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ git-sparse-checkout - Reduce your working tree to a subset of tracked files
99
SYNOPSIS
1010
--------
1111
[verse]
12-
'git sparse-checkout' (init | list | set | add | reapply | disable | check-rules) [<options>]
12+
'git sparse-checkout' (init | list | set | add | reapply | disable | check-rules | clean) [<options>]
1313

1414

1515
DESCRIPTION
@@ -111,6 +111,37 @@ flags, with the same meaning as the flags from the `set` command, in order
111111
to change which sparsity mode you are using without needing to also respecify
112112
all sparsity paths.
113113

114+
'clean'::
115+
Opportunistically remove files outside of the sparse-checkout
116+
definition. This command requires cone mode to use recursive
117+
directory matches to determine which files should be removed. A
118+
file is considered for removal if it is contained within a tracked
119+
directory that is outside of the sparse-checkout definition.
120+
+
121+
Some special cases, such as merge conflicts or modified files outside of
122+
the sparse-checkout definition could lead to keeping files that would
123+
otherwise be removed. Resolve conflicts, stage modifications, and use
124+
`git sparse-checkout reapply` in conjunction with `git sparse-checkout
125+
clean` to resolve these cases.
126+
+
127+
This command can be used to be sure the sparse index works efficiently,
128+
though it does not require enabling the sparse index feature via the
129+
`index.sparse=true` configuration.
130+
+
131+
To prevent accidental deletion of worktree files, the `clean` subcommand
132+
will not delete any files without the `-f` or `--force` option, unless
133+
the `clean.requireForce` config option is set to `false`.
134+
+
135+
The `--dry-run` option will list the directories that would be removed
136+
without deleting them. Running in this mode can be helpful to predict the
137+
behavior of the clean comand or to determine which kinds of files are left
138+
in the sparse directories.
139+
+
140+
The `--verbose` option will list every file within the directories that
141+
are considered for removal. This option is helpful to determine if those
142+
files are actually important or perhaps to explain why the directory is
143+
still present despite the current sparse-checkout.
144+
114145
'disable'::
115146
Disable the `core.sparseCheckout` config setting, and restore the
116147
working directory to include all files.

git-sparse-checkout.html

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ <h2 id="_name">NAME</h2>
452452
<h2 id="_synopsis">SYNOPSIS</h2>
453453
<div class="sectionbody">
454454
<div class="verseblock">
455-
<pre class="content"><em>git sparse-checkout</em> (init | list | set | add | reapply | disable | check-rules) [&lt;options&gt;]</pre>
455+
<pre class="content"><em>git sparse-checkout</em> (init | list | set | add | reapply | disable | check-rules | clean) [&lt;options&gt;]</pre>
456456
</div>
457457
</div>
458458
</div>
@@ -574,6 +574,43 @@ <h2 id="_commands">COMMANDS</h2>
574574
all sparsity paths.</p>
575575
</div>
576576
</dd>
577+
<dt class="hdlist1"><em>clean</em></dt>
578+
<dd>
579+
<p>Opportunistically remove files outside of the sparse-checkout
580+
definition. This command requires cone mode to use recursive
581+
directory matches to determine which files should be removed. A
582+
file is considered for removal if it is contained within a tracked
583+
directory that is outside of the sparse-checkout definition.</p>
584+
<div class="paragraph">
585+
<p>Some special cases, such as merge conflicts or modified files outside of
586+
the sparse-checkout definition could lead to keeping files that would
587+
otherwise be removed. Resolve conflicts, stage modifications, and use
588+
<code>git</code> <code>sparse-checkout</code> <code>reapply</code> in conjunction with <code>git</code> <code>sparse-checkout</code>
589+
<code>clean</code> to resolve these cases.</p>
590+
</div>
591+
<div class="paragraph">
592+
<p>This command can be used to be sure the sparse index works efficiently,
593+
though it does not require enabling the sparse index feature via the
594+
<code>index.sparse=true</code> configuration.</p>
595+
</div>
596+
<div class="paragraph">
597+
<p>To prevent accidental deletion of worktree files, the <code>clean</code> subcommand
598+
will not delete any files without the <code>-f</code> or <code>--force</code> option, unless
599+
the <code>clean.requireForce</code> config option is set to <code>false</code>.</p>
600+
</div>
601+
<div class="paragraph">
602+
<p>The <code>--dry-run</code> option will list the directories that would be removed
603+
without deleting them. Running in this mode can be helpful to predict the
604+
behavior of the clean comand or to determine which kinds of files are left
605+
in the sparse directories.</p>
606+
</div>
607+
<div class="paragraph">
608+
<p>The <code>--verbose</code> option will list every file within the directories that
609+
are considered for removal. This option is helpful to determine if those
610+
files are actually important or perhaps to explain why the directory is
611+
still present despite the current sparse-checkout.</p>
612+
</div>
613+
</dd>
577614
<dt class="hdlist1"><em>disable</em></dt>
578615
<dd>
579616
<p>Disable the <code>core.sparseCheckout</code> config setting, and restore the
@@ -1065,7 +1102,7 @@ <h2 id="_git">GIT</h2>
10651102
</div>
10661103
<div id="footer">
10671104
<div id="footer-text">
1068-
Last updated 2025-10-20 15:09:57 -0700
1105+
Last updated 2025-10-28 12:16:15 -0700
10691106
</div>
10701107
</div>
10711108
</body>

git-tag.adoc

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ git-tag(1)
33

44
NAME
55
----
6-
git-tag - Create, list, delete or verify a tag object signed with GPG
6+
git-tag - Create, list, delete or verify tags
77

88

99
SYNOPSIS
@@ -38,15 +38,17 @@ and `-a`, `-s`, and `-u <key-id>` are absent, `-a` is implied.
3838
Otherwise, a tag reference that points directly at the given object
3939
(i.e., a lightweight tag) is created.
4040

41-
A GnuPG signed tag object will be created when `-s` or `-u
42-
<key-id>` is used. When `-u <key-id>` is not used, the
43-
committer identity for the current user is used to find the
44-
GnuPG key for signing. The configuration variable `gpg.program`
45-
is used to specify custom GnuPG binary.
41+
A cryptographically signed tag object will be created when `-s` or
42+
`-u <key-id>` is used. The signing backend (GPG, X.509, SSH, etc.) is
43+
controlled by the `gpg.format` configuration variable, defaulting to
44+
OpenPGP. When `-u <key-id>` is not used, the committer identity for
45+
the current user is used to find the key for signing. The
46+
configuration variable `gpg.program` is used to specify a custom
47+
signing binary.
4648

4749
Tag objects (created with `-a`, `-s`, or `-u`) are called "annotated"
4850
tags; they contain a creation date, the tagger name and e-mail, a
49-
tagging message, and an optional GnuPG signature. Whereas a
51+
tagging message, and an optional cryptographic signature. Whereas a
5052
"lightweight" tag is simply a name for an object (usually a commit
5153
object).
5254

@@ -64,18 +66,23 @@ OPTIONS
6466

6567
`-s`::
6668
`--sign`::
67-
Make a GPG-signed tag, using the default e-mail address's key.
68-
The default behavior of tag GPG-signing is controlled by `tag.gpgSign`
69-
configuration variable if it exists, or disabled otherwise.
70-
See linkgit:git-config[1].
69+
Make a cryptographically signed tag, using the default signing
70+
key. The signing backend used depends on the `gpg.format`
71+
configuration variable. The default key is determined by the
72+
backend. For GPG, it's based on the committer's email address,
73+
while for SSH it may be a specific key file or agent
74+
identity. See linkgit:git-config[1].
7175

7276
`--no-sign`::
7377
Override `tag.gpgSign` configuration variable that is
7478
set to force each and every tag to be signed.
7579

7680
`-u <key-id>`::
7781
`--local-user=<key-id>`::
78-
Make a GPG-signed tag, using the given key.
82+
Make a cryptographically signed tag using the given key. The
83+
format of the <key-id> and the backend used depend on the
84+
`gpg.format` configuration variable. See
85+
linkgit:git-config[1].
7986

8087
`-f`::
8188
`--force`::
@@ -87,7 +94,7 @@ OPTIONS
8794

8895
`-v`::
8996
`--verify`::
90-
Verify the GPG signature of the given tag names.
97+
Verify the cryptographic signature of the given tags.
9198

9299
`-n<num>`::
93100
_<num>_ specifies how many lines from the annotation, if any,
@@ -235,12 +242,23 @@ it in the repository configuration as follows:
235242

236243
-------------------------------------
237244
[user]
238-
signingKey = <gpg-key-id>
245+
signingKey = <key-id>
239246
-------------------------------------
240247

248+
The signing backend can be chosen via the `gpg.format` configuration
249+
variable, which defaults to `openpgp`. See linkgit:git-config[1]
250+
for a list of other supported formats.
251+
252+
The path to the program used for each signing backend can be specified
253+
with the `gpg.<format>.program` configuration variable. For the
254+
`openpgp` backend, `gpg.program` can be used as a synonym for
255+
`gpg.openpgp.program`. See linkgit:git-config[1] for details.
256+
241257
`pager.tag` is only respected when listing tags, i.e., when `-l` is
242258
used or implied. The default is to use a pager.
243-
See linkgit:git-config[1].
259+
260+
See linkgit:git-config[1] for more details and other configuration
261+
variables.
244262

245263
DISCUSSION
246264
----------

git-tag.html

Lines changed: 38 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@
444444
<h1>git-tag(1) Manual Page</h1>
445445
<h2 id="_name">NAME</h2>
446446
<div class="sectionbody">
447-
<p>git-tag - Create, list, delete or verify a tag object signed with GPG</p>
447+
<p>git-tag - Create, list, delete or verify tags</p>
448448
</div>
449449
</div>
450450
<div id="content">
@@ -489,16 +489,18 @@ <h2 id="_description">DESCRIPTION</h2>
489489
(i.e., a lightweight tag) is created.</p>
490490
</div>
491491
<div class="paragraph">
492-
<p>A GnuPG signed tag object will be created when <code>-s</code> or <code>-u</code>
493-
<em>&lt;key-id&gt;</em> is used. When <code>-u</code> <em>&lt;key-id&gt;</em> is not used, the
494-
committer identity for the current user is used to find the
495-
GnuPG key for signing. The configuration variable <code>gpg.program</code>
496-
is used to specify custom GnuPG binary.</p>
492+
<p>A cryptographically signed tag object will be created when <code>-s</code> or
493+
<code>-u</code> <em>&lt;key-id&gt;</em> is used. The signing backend (GPG, X.509, SSH, etc.) is
494+
controlled by the <code>gpg.format</code> configuration variable, defaulting to
495+
OpenPGP. When <code>-u</code> <em>&lt;key-id&gt;</em> is not used, the committer identity for
496+
the current user is used to find the key for signing. The
497+
configuration variable <code>gpg.program</code> is used to specify a custom
498+
signing binary.</p>
497499
</div>
498500
<div class="paragraph">
499501
<p>Tag objects (created with <code>-a</code>, <code>-s</code>, or <code>-u</code>) are called "annotated"
500502
tags; they contain a creation date, the tagger name and e-mail, a
501-
tagging message, and an optional GnuPG signature. Whereas a
503+
tagging message, and an optional cryptographic signature. Whereas a
502504
"lightweight" tag is simply a name for an object (usually a commit
503505
object).</p>
504506
</div>
@@ -523,10 +525,12 @@ <h2 id="_options">OPTIONS</h2>
523525
<dt class="hdlist1"><code>-s</code></dt>
524526
<dt class="hdlist1"><code>--sign</code></dt>
525527
<dd>
526-
<p>Make a GPG-signed tag, using the default e-mail address&#8217;s key.
527-
The default behavior of tag GPG-signing is controlled by <code>tag.gpgSign</code>
528-
configuration variable if it exists, or disabled otherwise.
529-
See <a href="git-config.html">git-config(1)</a>.</p>
528+
<p>Make a cryptographically signed tag, using the default signing
529+
key. The signing backend used depends on the <code>gpg.format</code>
530+
configuration variable. The default key is determined by the
531+
backend. For GPG, it&#8217;s based on the committer&#8217;s email address,
532+
while for SSH it may be a specific key file or agent
533+
identity. See <a href="git-config.html">git-config(1)</a>.</p>
530534
</dd>
531535
<dt class="hdlist1"><code>--no-sign</code></dt>
532536
<dd>
@@ -536,7 +540,10 @@ <h2 id="_options">OPTIONS</h2>
536540
<dt class="hdlist1"><code>-u</code> <em>&lt;key-id&gt;</em></dt>
537541
<dt class="hdlist1"><code>--local-user=</code><em>&lt;key-id&gt;</em></dt>
538542
<dd>
539-
<p>Make a GPG-signed tag, using the given key.</p>
543+
<p>Make a cryptographically signed tag using the given key. The
544+
format of the &lt;key-id&gt; and the backend used depend on the
545+
<code>gpg.format</code> configuration variable. See
546+
<a href="git-config.html">git-config(1)</a>.</p>
540547
</dd>
541548
<dt class="hdlist1"><code>-f</code></dt>
542549
<dt class="hdlist1"><code>--force</code></dt>
@@ -551,7 +558,7 @@ <h2 id="_options">OPTIONS</h2>
551558
<dt class="hdlist1"><code>-v</code></dt>
552559
<dt class="hdlist1"><code>--verify</code></dt>
553560
<dd>
554-
<p>Verify the GPG signature of the given tag names.</p>
561+
<p>Verify the cryptographic signature of the given tags.</p>
555562
</dd>
556563
<dt class="hdlist1"><code>-n</code><em>&lt;num&gt;</em></dt>
557564
<dd>
@@ -731,13 +738,27 @@ <h2 id="_configuration">CONFIGURATION</h2>
731738
<div class="listingblock">
732739
<div class="content">
733740
<pre>[user]
734-
signingKey = &lt;gpg-key-id&gt;</pre>
741+
signingKey = &lt;key-id&gt;</pre>
742+
</div>
735743
</div>
744+
<div class="paragraph">
745+
<p>The signing backend can be chosen via the <code>gpg.format</code> configuration
746+
variable, which defaults to <code>openpgp</code>. See <a href="git-config.html">git-config(1)</a>
747+
for a list of other supported formats.</p>
748+
</div>
749+
<div class="paragraph">
750+
<p>The path to the program used for each signing backend can be specified
751+
with the <code>gpg.</code><em>&lt;format&gt;</em><code>.program</code> configuration variable. For the
752+
<code>openpgp</code> backend, <code>gpg.program</code> can be used as a synonym for
753+
<code>gpg.openpgp.program</code>. See <a href="git-config.html">git-config(1)</a> for details.</p>
736754
</div>
737755
<div class="paragraph">
738756
<p><code>pager.tag</code> is only respected when listing tags, i.e., when <code>-l</code> is
739-
used or implied. The default is to use a pager.
740-
See <a href="git-config.html">git-config(1)</a>.</p>
757+
used or implied. The default is to use a pager.</p>
758+
</div>
759+
<div class="paragraph">
760+
<p>See <a href="git-config.html">git-config(1)</a> for more details and other configuration
761+
variables.</p>
741762
</div>
742763
</div>
743764
</div>
@@ -1049,7 +1070,7 @@ <h2 id="_git">GIT</h2>
10491070
</div>
10501071
<div id="footer">
10511072
<div id="footer-text">
1052-
Last updated 2025-10-14 14:37:27 -0700
1073+
Last updated 2025-10-28 12:16:15 -0700
10531074
</div>
10541075
</div>
10551076
</body>

git.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@ <h3 id="_main_porcelain_commands">Main porcelain commands</h3>
911911
</dd>
912912
<dt class="hdlist1"><a href="git-tag.html">git-tag(1)</a></dt>
913913
<dd>
914-
<p>Create, list, delete or verify a tag object signed with GPG.</p>
914+
<p>Create, list, delete or verify tags.</p>
915915
</dd>
916916
<dt class="hdlist1"><a href="git-worktree.html">git-worktree(1)</a></dt>
917917
<dd>

0 commit comments

Comments
 (0)