Skip to content

Commit 21ba000

Browse files
committed
Autogenerated HTML docs for v2.51.1-549-g4e98b7
1 parent c4f5933 commit 21ba000

11 files changed

+2640
-1017
lines changed

RelNotes/2.52.0.adoc

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ UI, Workflows & Features
5555
(e.g. blame.ignorerevsfile) can be marked as optional by prefixing
5656
":(optoinal)" before its value.
5757

58+
* Show 'P'ipe command in "git add -p".
59+
5860

5961
Performance, Internal Implementation, Development Support etc.
6062
--------------------------------------------------------------
@@ -133,6 +135,9 @@ Performance, Internal Implementation, Development Support etc.
133135
134136
* The beginning of SHA1-SHA256 interoperability work.
135137
138+
* Build procedure for a few credential helpers (in contrib/) have
139+
been updated.
140+
136141
137142
Fixes since v2.51
138143
-----------------
@@ -352,6 +357,25 @@ including security updates, are included in this release.
352357
corrected.
353358
(merge c0bec06cfe jk/diff-no-index-with-pathspec-fix later to maint).
354359

360+
* The "--short" option of "git status" that meant output for humans
361+
and "-z" option to show NUL delimited output format did not mix
362+
well, and colored some but not all things. The command has been
363+
updated to color all elements consistently in such a case.
364+
(merge 50927f4f68 jk/status-z-short-fix later to maint).
365+
366+
* Unicode width table update.
367+
(merge 330a54099e tb/unicode-width-table-17 later to maint).
368+
369+
* GPG signing test set-up has been broken for a year, which has been
370+
corrected.
371+
(merge 516bf45749 jc/t1016-setup-fix later to maint).
372+
373+
* Recent OpenSSH creates the Unix domain socket to communicate with
374+
ssh-agent under $HOME instead of /tmp, which causes our test to
375+
fail doe to overly long pathname in our test environment, which has
376+
been worked around by using "ssh-agent -T".
377+
(merge b7fb2194b9 ps/t7528-ssh-agent-uds-workaround later to maint).
378+
355379
* Other code cleanup, docfix, build fix, etc.
356380
(merge 823d537fa7 kh/doc-git-log-markup-fix later to maint).
357381
(merge cf7efa4f33 rj/t6137-cygwin-fix later to maint).

git-add.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,7 @@ patch::
349349
s - split the current hunk into smaller hunks
350350
e - manually edit the current hunk
351351
p - print the current hunk
352+
P - print the current hunk using the pager
352353
? - print help
353354
+
354355
After deciding the fate for all hunks, if there is any hunk

git-add.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -879,6 +879,7 @@ <h2 id="_interactive_mode">INTERACTIVE MODE</h2>
879879
s - split the current hunk into smaller hunks
880880
e - manually edit the current hunk
881881
p - print the current hunk
882+
P - print the current hunk using the pager
882883
? - print help</pre>
883884
</div>
884885
</div>
@@ -1045,7 +1046,7 @@ <h2 id="_git">GIT</h2>
10451046
</div>
10461047
<div id="footer">
10471048
<div id="footer-text">
1048-
Last updated 2025-10-20 13:22:58 -0700
1049+
Last updated 2025-10-24 14:37:25 -0700
10491050
</div>
10501051
</div>
10511052
</body>

technical/commit-graph.adoc

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ A consumer may load the following info for a commit from the graph:
3939
Values 1-4 satisfy the requirements of parse_commit_gently().
4040

4141
There are two definitions of generation number:
42+
4243
1. Corrected committer dates (generation number v2)
4344
2. Topological levels (generation number v1)
4445
@@ -158,7 +159,8 @@ number of commits in the full history. By creating a "chain" of commit-graphs,
158159
we enable fast writes of new commit data without rewriting the entire commit
159160
history -- at least, most of the time.
160161

161-
## File Layout
162+
File Layout
163+
~~~~~~~~~~~
162164

163165
A commit-graph chain uses multiple files, and we use a fixed naming convention
164166
to organize these files. Each commit-graph file has a name
@@ -170,11 +172,11 @@ hashes for the files in order from "lowest" to "highest".
170172

171173
For example, if the `commit-graph-chain` file contains the lines
172174

173-
```
175+
----
174176
{hash0}
175177
{hash1}
176178
{hash2}
177-
```
179+
----
178180

179181
then the commit-graph chain looks like the following diagram:
180182

@@ -213,7 +215,8 @@ specifying the hashes of all files in the lower layers. In the above example,
213215
`graph-{hash1}.graph` contains `{hash0}` while `graph-{hash2}.graph` contains
214216
`{hash0}` and `{hash1}`.
215217

216-
## Merging commit-graph files
218+
Merging commit-graph files
219+
~~~~~~~~~~~~~~~~~~~~~~~~~~
217220

218221
If we only added a new commit-graph file on every write, we would run into a
219222
linear search problem through many commit-graph files. Instead, we use a merge
@@ -225,6 +228,7 @@ is determined by the merge strategy that the files should collapse to
225228
the commits in `graph-{hash1}` should be combined into a new `graph-{hash3}`
226229
file.
227230

231+
....
228232
+---------------------+
229233
| |
230234
| (new commits) |
@@ -250,21 +254,23 @@ file.
250254
| |
251255
| |
252256
+-----------------------+
257+
....
253258

254259
During this process, the commits to write are combined, sorted and we write the
255260
contents to a temporary file, all while holding a `commit-graph-chain.lock`
256261
lock-file. When the file is flushed, we rename it to `graph-{hash3}`
257262
according to the computed `{hash3}`. Finally, we write the new chain data to
258263
`commit-graph-chain.lock`:
259264

260-
```
265+
----
261266
{hash3}
262267
{hash0}
263-
```
268+
----
264269

265270
We then close the lock-file.
266271

267-
## Merge Strategy
272+
Merge Strategy
273+
~~~~~~~~~~~~~~
268274

269275
When writing a set of commits that do not exist in the commit-graph stack of
270276
height N, we default to creating a new file at level N + 1. We then decide to
@@ -289,7 +295,8 @@ The merge strategy values (2 for the size multiple, 64,000 for the maximum
289295
number of commits) could be extracted into config settings for full
290296
flexibility.
291297

292-
## Handling Mixed Generation Number Chains
298+
Handling Mixed Generation Number Chains
299+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
293300

294301
With the introduction of generation number v2 and generation data chunk, the
295302
following scenario is possible:
@@ -318,7 +325,8 @@ have corrected commit dates when written by compatible versions of Git. Thus,
318325
rewriting split commit-graph as a single file (`--split=replace`) creates a
319326
single layer with corrected commit dates.
320327

321-
## Deleting graph-{hash} files
328+
Deleting graph-\{hash\} files
329+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
322330

323331
After a new tip file is written, some `graph-{hash}` files may no longer
324332
be part of a chain. It is important to remove these files from disk, eventually.
@@ -333,7 +341,8 @@ files whose modified times are older than a given expiry window. This window
333341
defaults to zero, but can be changed using command-line arguments or a config
334342
setting.
335343

336-
## Chains across multiple object directories
344+
Chains across multiple object directories
345+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
337346

338347
In a repo with alternates, we look for the `commit-graph-chain` file starting
339348
in the local object directory and then in each alternate. The first file that

technical/commit-graph.html

Lines changed: 54 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -513,9 +513,17 @@ <h1>Git Commit-Graph Design Notes</h1>
513513
<p>Values 1-4 satisfy the requirements of parse_commit_gently().</p>
514514
</div>
515515
<div class="paragraph">
516-
<p>There are two definitions of generation number:
517-
1. Corrected committer dates (generation number v2)
518-
2. Topological levels (generation number v1)</p>
516+
<p>There are two definitions of generation number:</p>
517+
</div>
518+
<div class="olist arabic">
519+
<ol class="arabic">
520+
<li>
521+
<p>Corrected committer dates (generation number v2)</p>
522+
</li>
523+
<li>
524+
<p>Topological levels (generation number v1)</p>
525+
</li>
526+
</ol>
519527
</div>
520528
<div class="paragraph">
521529
<p>Define "corrected committer date" of a commit recursively as follows:</p>
@@ -683,11 +691,8 @@ <h2 id="_commit_graphs_chains">Commit-Graphs Chains</h2>
683691
we enable fast writes of new commit data without rewriting the entire commit
684692
history&#8201;&#8212;&#8201;at least, most of the time.</p>
685693
</div>
686-
</div>
687-
</div>
688-
<div class="sect1">
689-
<h2 id="_file_layout">File Layout</h2>
690-
<div class="sectionbody">
694+
<div class="sect2">
695+
<h3 id="_file_layout">File Layout</h3>
691696
<div class="paragraph">
692697
<p>A commit-graph chain uses multiple files, and we use a fixed naming convention
693698
to organize these files. Each commit-graph file has a name
@@ -702,9 +707,9 @@ <h2 id="_file_layout">File Layout</h2>
702707
</div>
703708
<div class="listingblock">
704709
<div class="content">
705-
<pre class="highlight"><code> {hash0}
710+
<pre> {hash0}
706711
{hash1}
707-
{hash2}</code></pre>
712+
{hash2}</pre>
708713
</div>
709714
</div>
710715
<div class="paragraph">
@@ -751,10 +756,8 @@ <h2 id="_file_layout">File Layout</h2>
751756
{hash0} and {hash1}.</p>
752757
</div>
753758
</div>
754-
</div>
755-
<div class="sect1">
756-
<h2 id="_merging_commit_graph_files">Merging commit-graph files</h2>
757-
<div class="sectionbody">
759+
<div class="sect2">
760+
<h3 id="_merging_commit_graph_files">Merging commit-graph files</h3>
758761
<div class="paragraph">
759762
<p>If we only added a new commit-graph file on every write, we would run into a
760763
linear search problem through many commit-graph files. Instead, we use a merge
@@ -769,31 +772,31 @@ <h2 id="_merging_commit_graph_files">Merging commit-graph files</h2>
769772
</div>
770773
<div class="literalblock">
771774
<div class="content">
772-
<pre> +---------------------+
773-
| |
774-
| (new commits) |
775-
| |
776-
+---------------------+
777-
| |
778-
+-----------------------+ +---------------------+
779-
| graph-{hash2} |-&gt;| |
780-
+-----------------------+ +---------------------+
781-
| | |
782-
+-----------------------+ +---------------------+
783-
| | | |
784-
| graph-{hash1} |-&gt;| |
785-
| | | |
786-
+-----------------------+ +---------------------+
787-
| tmp_graphXXX
788-
+-----------------------+
789-
| |
790-
| |
791-
| |
792-
| graph-{hash0} |
793-
| |
794-
| |
795-
| |
796-
+-----------------------+</pre>
775+
<pre> +---------------------+
776+
| |
777+
| (new commits) |
778+
| |
779+
+---------------------+
780+
| |
781+
+-----------------------+ +---------------------+
782+
| graph-{hash2} |-&gt;| |
783+
+-----------------------+ +---------------------+
784+
| | |
785+
+-----------------------+ +---------------------+
786+
| | | |
787+
| graph-{hash1} |-&gt;| |
788+
| | | |
789+
+-----------------------+ +---------------------+
790+
| tmp_graphXXX
791+
+-----------------------+
792+
| |
793+
| |
794+
| |
795+
| graph-{hash0} |
796+
| |
797+
| |
798+
| |
799+
+-----------------------+</pre>
797800
</div>
798801
</div>
799802
<div class="paragraph">
@@ -805,18 +808,16 @@ <h2 id="_merging_commit_graph_files">Merging commit-graph files</h2>
805808
</div>
806809
<div class="listingblock">
807810
<div class="content">
808-
<pre class="highlight"><code> {hash3}
809-
{hash0}</code></pre>
811+
<pre> {hash3}
812+
{hash0}</pre>
810813
</div>
811814
</div>
812815
<div class="paragraph">
813816
<p>We then close the lock-file.</p>
814817
</div>
815818
</div>
816-
</div>
817-
<div class="sect1">
818-
<h2 id="_merge_strategy">Merge Strategy</h2>
819-
<div class="sectionbody">
819+
<div class="sect2">
820+
<h3 id="_merge_strategy">Merge Strategy</h3>
820821
<div class="paragraph">
821822
<p>When writing a set of commits that do not exist in the commit-graph stack of
822823
height N, we default to creating a new file at level N + 1. We then decide to
@@ -851,10 +852,8 @@ <h2 id="_merge_strategy">Merge Strategy</h2>
851852
flexibility.</p>
852853
</div>
853854
</div>
854-
</div>
855-
<div class="sect1">
856-
<h2 id="_handling_mixed_generation_number_chains">Handling Mixed Generation Number Chains</h2>
857-
<div class="sectionbody">
855+
<div class="sect2">
856+
<h3 id="_handling_mixed_generation_number_chains">Handling Mixed Generation Number Chains</h3>
858857
<div class="paragraph">
859858
<p>With the introduction of generation number v2 and generation data chunk, the
860859
following scenario is possible:</p>
@@ -895,10 +894,8 @@ <h2 id="_handling_mixed_generation_number_chains">Handling Mixed Generation Numb
895894
single layer with corrected commit dates.</p>
896895
</div>
897896
</div>
898-
</div>
899-
<div class="sect1">
900-
<h2 id="_deleting_graph_hash_files">Deleting graph-{hash} files</h2>
901-
<div class="sectionbody">
897+
<div class="sect2">
898+
<h3 id="_deleting_graph_hash_files">Deleting graph-{hash} files</h3>
902899
<div class="paragraph">
903900
<p>After a new tip file is written, some <code>graph-</code>{hash} files may no longer
904901
be part of a chain. It is important to remove these files from disk, eventually.
@@ -915,10 +912,8 @@ <h2 id="_deleting_graph_hash_files">Deleting graph-{hash} files</h2>
915912
setting.</p>
916913
</div>
917914
</div>
918-
</div>
919-
<div class="sect1">
920-
<h2 id="_chains_across_multiple_object_directories">Chains across multiple object directories</h2>
921-
<div class="sectionbody">
915+
<div class="sect2">
916+
<h3 id="_chains_across_multiple_object_directories">Chains across multiple object directories</h3>
922917
<div class="paragraph">
923918
<p>In a repo with alternates, we look for the <code>commit-graph-chain</code> file starting
924919
in the local object directory and then in each alternate. The first file that
@@ -966,6 +961,7 @@ <h2 id="_chains_across_multiple_object_directories">Chains across multiple objec
966961
</div>
967962
</div>
968963
</div>
964+
</div>
969965
<div class="sect1">
970966
<h2 id="_related_links">Related Links</h2>
971967
<div class="sectionbody">
@@ -1012,7 +1008,7 @@ <h2 id="_related_links">Related Links</h2>
10121008
</div>
10131009
<div id="footer">
10141010
<div id="footer-text">
1015-
Last updated 2025-06-20 18:10:42 -0700
1011+
Last updated 2025-10-24 14:37:25 -0700
10161012
</div>
10171013
</div>
10181014
</body>

0 commit comments

Comments
 (0)