Skip to content

Commit 6666614

Browse files
committed
Autogenerated HTML docs for v2.52.0-rc0
1 parent 386d589 commit 6666614

30 files changed

+163
-63
lines changed

RelNotes/2.52.0.adoc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ UI, Workflows & Features
7070
* "Symlink symref" has been added to the list of things that will
7171
disappear at Git 3.0 boundary.
7272

73+
* "git maintenance" command learns the "geometric" strategy where it
74+
avoids doing maintenance tasks that rebuilds everything from
75+
scratch.
76+
7377

7478
Performance, Internal Implementation, Development Support etc.
7579
--------------------------------------------------------------
@@ -158,6 +162,9 @@ Performance, Internal Implementation, Development Support etc.
158162
* Two slightly different ways to get at "all the packfiles" in API
159163
has been cleaned up.
160164
165+
* The code to walk revision graph to compute merge base has been
166+
optimized.
167+
161168
162169
Fixes since v2.51
163170
-----------------
@@ -382,6 +389,14 @@ including security updates, are included in this release.
382389
and "git bisect unknown", which has been corrected.
383390
(merge 2bb3a012f3 rz/bisect-help-unknown later to maint).
384391

392+
* The 'q'(uit) command in "git add -p" has been improved to quit
393+
without doing any meaningless work before leaving, and giving EOF
394+
(typically control-D) to the prompt is made to behave the same way.
395+
396+
* The wildmatch code had a corner case bug that mistakenly makes
397+
"foo**/bar" match with "foobar", which has been corrected.
398+
(merge 1940a02dc1 jk/match-pathname-fix later to maint).
399+
385400
* Other code cleanup, docfix, build fix, etc.
386401
(merge 529a60a885 ua/t1517-short-help-tests later to maint).
387402
(merge 22d421fed9 ac/deglobal-fmt-merge-log-config later to maint).
@@ -393,3 +408,4 @@ including security updates, are included in this release.
393408
(merge a66fc22bf9 rs/get-oid-with-flags-cleanup later to maint).
394409
(merge 15b8abde07 js/mingw-includes-cleanup later to maint).
395410
(merge 2cebca0582 tb/cat-file-objectmode-update later to maint).
411+
(merge 8f487db07a kh/doc-patch-id-1 later to maint).

SubmittingPatches.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1605,7 +1605,7 @@ <h3 id="_gnus">Gnus</h3>
16051605
</div>
16061606
<div id="footer">
16071607
<div id="footer-text">
1608-
Last updated 2025-10-20 13:23:01 -0700
1608+
Last updated 2025-11-03 07:28:57 -0800
16091609
</div>
16101610
</div>
16111611
</body>

git-config.html

Lines changed: 50 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6708,23 +6708,47 @@ <h3 id="_variables">Variables</h3>
67086708
<dt class="hdlist1">maintenance.strategy</dt>
67096709
<dd>
67106710
<p>This string config option provides a way to specify one of a few
6711-
recommended schedules for background maintenance. This only affects
6712-
which tasks are run during <code>git</code> <code>maintenance</code> <code>run</code> <code>--schedule=X</code>
6713-
commands, provided no <code>--task=</code><em>&lt;task&gt;</em> arguments are provided.
6714-
Further, if a <code>maintenance.</code><em>&lt;task&gt;</em><code>.schedule</code> config value is set,
6715-
then that value is used instead of the one provided by
6716-
<code>maintenance.strategy</code>. The possible strategy strings are:</p>
6711+
recommended strategies for repository maintenance. This affects
6712+
which tasks are run during <code>git</code> <code>maintenance</code> <code>run</code>, provided no
6713+
<code>--task=</code><em>&lt;task&gt;</em> arguments are provided. This setting impacts manual
6714+
maintenance, auto-maintenance as well as scheduled maintenance. The
6715+
tasks that run may be different depending on the maintenance type.</p>
6716+
<div class="paragraph">
6717+
<p>The maintenance strategy can be further tweaked by setting
6718+
<code>maintenance.</code><em>&lt;task&gt;</em><code>.enabled</code> and <code>maintenance.</code><em>&lt;task&gt;</em><code>.schedule</code>. If set, these
6719+
values are used instead of the defaults provided by <code>maintenance.strategy</code>.</p>
6720+
</div>
6721+
<div class="paragraph">
6722+
<p>The possible strategies are:</p>
6723+
</div>
67176724
<div class="ulist">
67186725
<ul>
67196726
<li>
6720-
<p><code>none</code>: This default setting implies no tasks are run at any schedule.</p>
6727+
<p><code>none</code>: This strategy implies no tasks are run at all. This is the default
6728+
strategy for scheduled maintenance.</p>
6729+
</li>
6730+
<li>
6731+
<p><code>gc</code>: This strategy runs the <code>gc</code> task. This is the default strategy for
6732+
manual maintenance.</p>
6733+
</li>
6734+
<li>
6735+
<p><code>geometric</code>: This strategy performs geometric repacking of packfiles and
6736+
keeps auxiliary data structures up-to-date. The strategy expires data in the
6737+
reflog and removes worktrees that cannot be located anymore. When the
6738+
geometric repacking strategy would decide to do an all-into-one repack, then
6739+
the strategy generates a cruft pack for all unreachable objects. Objects that
6740+
are already part of a cruft pack will be expired.</p>
6741+
<div class="paragraph">
6742+
<p>This repacking strategy is a full replacement for the <code>gc</code> strategy and is
6743+
recommended for large repositories.</p>
6744+
</div>
67216745
</li>
67226746
<li>
67236747
<p><code>incremental</code>: This setting optimizes for performing small maintenance
67246748
activities that do not delete any data. This does not schedule the <code>gc</code>
67256749
task, but runs the <code>prefetch</code> and <code>commit-graph</code> tasks hourly, the
67266750
<code>loose-objects</code> and <code>incremental-repack</code> tasks daily, and the <code>pack-refs</code>
6727-
task weekly.</p>
6751+
task weekly. Manual repository maintenance uses the <code>gc</code> task.</p>
67286752
</li>
67296753
</ul>
67306754
</div>
@@ -6780,6 +6804,24 @@ <h3 id="_variables">Variables</h3>
67806804
number of pack-files not in the multi-pack-index is at least the value
67816805
of <code>maintenance.incremental-repack.auto</code>. The default value is 10.</p>
67826806
</dd>
6807+
<dt class="hdlist1">maintenance.geometric-repack.auto</dt>
6808+
<dd>
6809+
<p>This integer config option controls how often the <code>geometric-repack</code>
6810+
task should be run as part of <code>git</code> <code>maintenance</code> <code>run</code> <code>--auto</code>. If zero,
6811+
then the <code>geometric-repack</code> task will not run with the <code>--auto</code>
6812+
option. A negative value will force the task to run every time.
6813+
Otherwise, a positive value implies the command should run either when
6814+
there are packfiles that need to be merged together to retain the
6815+
geometric progression, or when there are at least this many loose
6816+
objects that would be written into a new packfile. The default value is
6817+
100.</p>
6818+
</dd>
6819+
<dt class="hdlist1">maintenance.geometric-repack.splitFactor</dt>
6820+
<dd>
6821+
<p>This integer config option controls the factor used for the geometric
6822+
sequence. See the <code>--geometric=</code> option in <a href="git-repack.html">git-repack(1)</a> for
6823+
more details. Defaults to <code>2</code>.</p>
6824+
</dd>
67836825
<dt class="hdlist1">maintenance.reflog-expire.auto</dt>
67846826
<dd>
67856827
<p>This integer config option controls how often the <code>reflog-expire</code> task

git-maintenance.html

Lines changed: 50 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,23 +1003,47 @@ <h2 id="_configuration">CONFIGURATION</h2>
10031003
<dt class="hdlist1">maintenance.strategy</dt>
10041004
<dd>
10051005
<p>This string config option provides a way to specify one of a few
1006-
recommended schedules for background maintenance. This only affects
1007-
which tasks are run during <code>git</code> <code>maintenance</code> <code>run</code> <code>--schedule=X</code>
1008-
commands, provided no <code>--task=</code><em>&lt;task&gt;</em> arguments are provided.
1009-
Further, if a <code>maintenance.</code><em>&lt;task&gt;</em><code>.schedule</code> config value is set,
1010-
then that value is used instead of the one provided by
1011-
<code>maintenance.strategy</code>. The possible strategy strings are:</p>
1006+
recommended strategies for repository maintenance. This affects
1007+
which tasks are run during <code>git</code> <code>maintenance</code> <code>run</code>, provided no
1008+
<code>--task=</code><em>&lt;task&gt;</em> arguments are provided. This setting impacts manual
1009+
maintenance, auto-maintenance as well as scheduled maintenance. The
1010+
tasks that run may be different depending on the maintenance type.</p>
1011+
<div class="paragraph">
1012+
<p>The maintenance strategy can be further tweaked by setting
1013+
<code>maintenance.</code><em>&lt;task&gt;</em><code>.enabled</code> and <code>maintenance.</code><em>&lt;task&gt;</em><code>.schedule</code>. If set, these
1014+
values are used instead of the defaults provided by <code>maintenance.strategy</code>.</p>
1015+
</div>
1016+
<div class="paragraph">
1017+
<p>The possible strategies are:</p>
1018+
</div>
10121019
<div class="ulist">
10131020
<ul>
10141021
<li>
1015-
<p><code>none</code>: This default setting implies no tasks are run at any schedule.</p>
1022+
<p><code>none</code>: This strategy implies no tasks are run at all. This is the default
1023+
strategy for scheduled maintenance.</p>
1024+
</li>
1025+
<li>
1026+
<p><code>gc</code>: This strategy runs the <code>gc</code> task. This is the default strategy for
1027+
manual maintenance.</p>
1028+
</li>
1029+
<li>
1030+
<p><code>geometric</code>: This strategy performs geometric repacking of packfiles and
1031+
keeps auxiliary data structures up-to-date. The strategy expires data in the
1032+
reflog and removes worktrees that cannot be located anymore. When the
1033+
geometric repacking strategy would decide to do an all-into-one repack, then
1034+
the strategy generates a cruft pack for all unreachable objects. Objects that
1035+
are already part of a cruft pack will be expired.</p>
1036+
<div class="paragraph">
1037+
<p>This repacking strategy is a full replacement for the <code>gc</code> strategy and is
1038+
recommended for large repositories.</p>
1039+
</div>
10161040
</li>
10171041
<li>
10181042
<p><code>incremental</code>: This setting optimizes for performing small maintenance
10191043
activities that do not delete any data. This does not schedule the <code>gc</code>
10201044
task, but runs the <code>prefetch</code> and <code>commit-graph</code> tasks hourly, the
10211045
<code>loose-objects</code> and <code>incremental-repack</code> tasks daily, and the <code>pack-refs</code>
1022-
task weekly.</p>
1046+
task weekly. Manual repository maintenance uses the <code>gc</code> task.</p>
10231047
</li>
10241048
</ul>
10251049
</div>
@@ -1075,6 +1099,24 @@ <h2 id="_configuration">CONFIGURATION</h2>
10751099
number of pack-files not in the multi-pack-index is at least the value
10761100
of <code>maintenance.incremental-repack.auto</code>. The default value is 10.</p>
10771101
</dd>
1102+
<dt class="hdlist1">maintenance.geometric-repack.auto</dt>
1103+
<dd>
1104+
<p>This integer config option controls how often the <code>geometric-repack</code>
1105+
task should be run as part of <code>git</code> <code>maintenance</code> <code>run</code> <code>--auto</code>. If zero,
1106+
then the <code>geometric-repack</code> task will not run with the <code>--auto</code>
1107+
option. A negative value will force the task to run every time.
1108+
Otherwise, a positive value implies the command should run either when
1109+
there are packfiles that need to be merged together to retain the
1110+
geometric progression, or when there are at least this many loose
1111+
objects that would be written into a new packfile. The default value is
1112+
100.</p>
1113+
</dd>
1114+
<dt class="hdlist1">maintenance.geometric-repack.splitFactor</dt>
1115+
<dd>
1116+
<p>This integer config option controls the factor used for the geometric
1117+
sequence. See the <code>--geometric=</code> option in <a href="git-repack.html">git-repack(1)</a> for
1118+
more details. Defaults to <code>2</code>.</p>
1119+
</dd>
10781120
<dt class="hdlist1">maintenance.reflog-expire.auto</dt>
10791121
<dd>
10801122
<p>This integer config option controls how often the <code>reflog-expire</code> task

git-p4.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1514,7 +1514,7 @@ <h2 id="_git">GIT</h2>
15141514
</div>
15151515
<div id="footer">
15161516
<div id="footer-text">
1517-
Last updated 2025-06-20 18:10:42 -0700
1517+
Last updated 2025-08-25 14:46:08 -0700
15181518
</div>
15191519
</div>
15201520
</body>

git-pack-refs.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -584,7 +584,7 @@ <h2 id="_git">GIT</h2>
584584
</div>
585585
<div id="footer">
586586
<div id="footer-text">
587-
Last updated 2025-07-16 14:23:57 -0700
587+
Last updated 2025-10-02 14:07:14 -0700
588588
</div>
589589
</div>
590590
</body>

git-patch-id.adoc

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ git-patch-id - Compute unique ID for a patch
77

88
SYNOPSIS
99
--------
10-
[verse]
11-
'git patch-id' [--stable | --unstable | --verbatim]
10+
[synopsis]
11+
git patch-id [--stable | --unstable | --verbatim]
1212

1313
DESCRIPTION
1414
-----------
@@ -21,7 +21,7 @@ the same time also reasonably unique, i.e., two patches that have the same
2121

2222
The main usecase for this command is to look for likely duplicate commits.
2323

24-
When dealing with 'git diff-tree' output, it takes advantage of
24+
When dealing with `git diff-tree` output, it takes advantage of
2525
the fact that the patch is prefixed with the object name of the
2626
commit, and outputs two 40-byte hexadecimal strings. The first
2727
string is the patch ID, and the second string is the commit ID.
@@ -30,35 +30,35 @@ This can be used to make a mapping from patch ID to commit ID.
3030
OPTIONS
3131
-------
3232

33-
--verbatim::
33+
`--verbatim`::
3434
Calculate the patch-id of the input as it is given, do not strip
3535
any whitespace.
3636
+
37-
This is the default if patchid.verbatim is true.
37+
This is the default if `patchid.verbatim` is `true`.
3838

39-
--stable::
39+
`--stable`::
4040
Use a "stable" sum of hashes as the patch ID. With this option:
4141
+
4242
--
4343
- Reordering file diffs that make up a patch does not affect the ID.
4444
In particular, two patches produced by comparing the same two trees
45-
with two different settings for "-O<orderfile>" result in the same
45+
with two different settings for `-O<orderfile>` result in the same
4646
patch ID signature, thereby allowing the computed result to be used
4747
as a key to index some meta-information about the change between
4848
the two trees;
4949

5050
- Result is different from the value produced by git 1.9 and older
51-
or produced when an "unstable" hash (see --unstable below) is
51+
or produced when an "unstable" hash (see `--unstable` below) is
5252
configured - even when used on a diff output taken without any use
53-
of "-O<orderfile>", thereby making existing databases storing such
53+
of `-O<orderfile>`, thereby making existing databases storing such
5454
"unstable" or historical patch-ids unusable.
5555
5656
- All whitespace within the patch is ignored and does not affect the id.
5757
--
5858
+
59-
This is the default if patchid.stable is set to true.
59+
This is the default if `patchid.stable` is set to `true`.
6060
61-
--unstable::
61+
`--unstable`::
6262
Use an "unstable" hash as the patch ID. With this option,
6363
the result produced is compatible with the patch-id value produced
6464
by git 1.9 and older and whitespace is ignored. Users with pre-existing

git-patch-id.html

Lines changed: 11 additions & 11 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 patch-id</em> [--stable | --unstable | --verbatim]</pre>
455+
<pre class="content"><code>git</code> <code>patch-id</code> [<code>--stable</code> | <code>--unstable</code> | <code>--verbatim</code>]</pre>
456456
</div>
457457
</div>
458458
</div>
@@ -472,7 +472,7 @@ <h2 id="_description">DESCRIPTION</h2>
472472
<p>The main usecase for this command is to look for likely duplicate commits.</p>
473473
</div>
474474
<div class="paragraph">
475-
<p>When dealing with <em>git diff-tree</em> output, it takes advantage of
475+
<p>When dealing with <code>git</code> <code>diff-tree</code> output, it takes advantage of
476476
the fact that the patch is prefixed with the object name of the
477477
commit, and outputs two 40-byte hexadecimal strings. The first
478478
string is the patch ID, and the second string is the commit ID.
@@ -485,15 +485,15 @@ <h2 id="_options">OPTIONS</h2>
485485
<div class="sectionbody">
486486
<div class="dlist">
487487
<dl>
488-
<dt class="hdlist1">--verbatim</dt>
488+
<dt class="hdlist1"><code>--verbatim</code></dt>
489489
<dd>
490490
<p>Calculate the patch-id of the input as it is given, do not strip
491491
any whitespace.</p>
492492
<div class="paragraph">
493-
<p>This is the default if patchid.verbatim is true.</p>
493+
<p>This is the default if <code>patchid.verbatim</code> is <code>true</code>.</p>
494494
</div>
495495
</dd>
496-
<dt class="hdlist1">--stable</dt>
496+
<dt class="hdlist1"><code>--stable</code></dt>
497497
<dd>
498498
<p>Use a "stable" sum of hashes as the patch ID. With this option:</p>
499499
<div class="openblock">
@@ -503,16 +503,16 @@ <h2 id="_options">OPTIONS</h2>
503503
<li>
504504
<p>Reordering file diffs that make up a patch does not affect the ID.
505505
In particular, two patches produced by comparing the same two trees
506-
with two different settings for "-O&lt;orderfile&gt;" result in the same
506+
with two different settings for <code>-O</code><em>&lt;orderfile&gt;</em> result in the same
507507
patch ID signature, thereby allowing the computed result to be used
508508
as a key to index some meta-information about the change between
509509
the two trees;</p>
510510
</li>
511511
<li>
512512
<p>Result is different from the value produced by git 1.9 and older
513-
or produced when an "unstable" hash (see --unstable below) is
513+
or produced when an "unstable" hash (see <code>--unstable</code> below) is
514514
configured - even when used on a diff output taken without any use
515-
of "-O&lt;orderfile&gt;", thereby making existing databases storing such
515+
of <code>-O</code><em>&lt;orderfile&gt;</em>, thereby making existing databases storing such
516516
"unstable" or historical patch-ids unusable.</p>
517517
</li>
518518
<li>
@@ -523,10 +523,10 @@ <h2 id="_options">OPTIONS</h2>
523523
</div>
524524
</div>
525525
<div class="paragraph">
526-
<p>This is the default if patchid.stable is set to true.</p>
526+
<p>This is the default if <code>patchid.stable</code> is set to <code>true</code>.</p>
527527
</div>
528528
</dd>
529-
<dt class="hdlist1">--unstable</dt>
529+
<dt class="hdlist1"><code>--unstable</code></dt>
530530
<dd>
531531
<p>Use an "unstable" hash as the patch ID. With this option,
532532
the result produced is compatible with the patch-id value produced
@@ -552,7 +552,7 @@ <h2 id="_git">GIT</h2>
552552
</div>
553553
<div id="footer">
554554
<div id="footer-text">
555-
Last updated 2025-10-14 14:37:27 -0700
555+
Last updated 2025-11-03 07:28:51 -0800
556556
</div>
557557
</div>
558558
</body>

git-svn.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1978,7 +1978,7 @@ <h2 id="_git">GIT</h2>
19781978
</div>
19791979
<div id="footer">
19801980
<div id="footer-text">
1981-
Last updated 2025-06-20 18:10:42 -0700
1981+
Last updated 2025-08-25 14:46:08 -0700
19821982
</div>
19831983
</div>
19841984
</body>

gitprotocol-http.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1204,7 +1204,7 @@ <h2 id="_git">GIT</h2>
12041204
</div>
12051205
<div id="footer">
12061206
<div id="footer-text">
1207-
Last updated 2025-06-20 18:10:42 -0700
1207+
Last updated 2025-08-25 14:46:08 -0700
12081208
</div>
12091209
</div>
12101210
</body>

0 commit comments

Comments
 (0)