summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2023-02-27 10:49:30 -0800
committerJunio C Hamano <gitster@pobox.com>2023-02-27 10:49:30 -0800
commit9813725002ed50a35db33e6294c3778d2e2584e5 (patch)
tree4d3407458d08c5629bd8ffe11775eb7a04401b95
parent613334cb5a7643a40c588048c6fb84dddd3c287c (diff)
downloadgit-htmldocs-9813725002ed50a35db33e6294c3778d2e2584e5.tar.gz
Autogenerated HTML docs for v2.40.0-rc0-32-ga0f05f
-rw-r--r--RelNotes/2.40.0.txt34
-rw-r--r--git-archive.html12
-rw-r--r--git-archive.txt5
-rw-r--r--git-config.html3
-rw-r--r--git-credential.html12
-rw-r--r--git-credential.txt6
-rw-r--r--gitattributes.html36
-rw-r--r--gitattributes.txt31
-rw-r--r--gitcredentials.html4
-rw-r--r--gitcredentials.txt2
-rw-r--r--howto/coordinate-embargoed-releases.html2
-rw-r--r--howto/keep-canonical-history-correct.html2
-rw-r--r--howto/maintain-git.html2
-rw-r--r--howto/new-command.html2
-rw-r--r--howto/rebase-from-internal-branch.html2
-rw-r--r--howto/rebuild-from-update-hook.html2
-rw-r--r--howto/recover-corrupted-blob-object.html2
-rw-r--r--howto/recover-corrupted-object-harder.html2
-rw-r--r--howto/revert-a-faulty-merge.html2
-rw-r--r--howto/revert-branch-rebase.html2
-rw-r--r--howto/separating-topic-branches.html2
-rw-r--r--howto/setup-git-server-over-http.html2
-rw-r--r--howto/update-hook-example.html2
-rw-r--r--howto/use-git-daemon.html2
-rw-r--r--howto/using-merge-subtree.html2
-rw-r--r--howto/using-signed-tag-in-pull-request.html2
26 files changed, 154 insertions, 23 deletions
diff --git a/RelNotes/2.40.0.txt b/RelNotes/2.40.0.txt
index 95c029adf..094a2937c 100644
--- a/RelNotes/2.40.0.txt
+++ b/RelNotes/2.40.0.txt
@@ -54,6 +54,34 @@ UI, Workflows & Features
* Userdiff regexp update for Java language.
+ * "git fetch --jobs=0" used to hit a BUG(), which has been corrected
+ to use the available CPUs.
+
+ * An invalid label or ref in the "rebase -i" todo file used to
+ trigger an runtime error. SUch an error is now diagnosed while the
+ todo file is parsed.
+
+ * The "diff" drivers specified by the "diff" attribute attached to
+ paths can now specify which algorithm (e.g. histogram) to use.
+
+ * "git range-diff" learned --abbrev=<num> option.
+
+ * "git archive HEAD^{tree}" records the paths with the current
+ timestamp in the archive, making it harder to obtain a stable
+ output. The command learned the --mtime option to specify an
+ arbitrary timestamp (e.g. --mtime="@0 +0000" for the epoch).
+
+ * The credential subsystem learned that a password may have an
+ explicit expiration.
+
+ * The format.attach configuration variable lacked a way to override a
+ value defined in a lower-priority configuration file (e.g. the
+ system one) by redefining it in a higher-priority configuration
+ file. Now, setting format.attach to an empty string means show the
+ patch inline in the e-mail message, without using MIME attachment.
+
+ This is a backward incompatible change.
+
Performance, Internal Implementation, Development Support etc.
@@ -248,6 +276,11 @@ Fixes since v2.39
xwrite() wrapper appropriately.
(merge 58eab6ff13 jc/genzeros-avoid-raw-write later to maint).
+ * sscanf(3) used in "git symbolic-ref --short" implementation found
+ to be not working reliably on macOS in UTF-8 locales. Rewrite the
+ code to avoid sscanf() altogether to work it around.
+ (merge 613bef56b8 jk/shorten-unambiguous-ref-wo-sscanf later to maint).
+
* Other code cleanup, docfix, build fix, etc.
(merge 4eb1ccecd4 dh/mingw-ownership-check-typofix later to maint).
(merge f95526419b ar/typofix-gitattributes-doc later to maint).
@@ -275,3 +308,4 @@ Fixes since v2.39
(merge 3eb1e1ca9a ab/config-h-remove-unused later to maint).
(merge d390e08076 cw/doc-pushurl-vs-url later to maint).
(merge 567342fc77 rs/ctype-test later to maint).
+ (merge d35d8f2e7a ap/t2015-style-update later to maint).
diff --git a/git-archive.html b/git-archive.html
index 2055ac42f..a6088b0dc 100644
--- a/git-archive.html
+++ b/git-archive.html
@@ -876,6 +876,16 @@ cases, write an untracked file and use <code>--add-file</code> instead.</p></div
</p>
</dd>
<dt class="hdlist1">
+--mtime=&lt;time&gt;
+</dt>
+<dd>
+<p>
+ Set modification time of archive entries. Without this option
+ the committer time is used if <code>&lt;tree-ish&gt;</code> is a commit or tag,
+ and the current time if it is a tree.
+</p>
+</dd>
+<dt class="hdlist1">
&lt;extra&gt;
</dt>
<dd>
@@ -1149,7 +1159,7 @@ while archiving any tree in your <code>$GIT_DIR/info/attributes</code> file.</p>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-07-11 16:06:18 PDT
+ 2023-02-27 10:47:08 PST
</div>
</div>
</body>
diff --git a/git-archive.txt b/git-archive.txt
index 60c040988..6bab201d3 100644
--- a/git-archive.txt
+++ b/git-archive.txt
@@ -86,6 +86,11 @@ cases, write an untracked file and use `--add-file` instead.
Look for attributes in .gitattributes files in the working tree
as well (see <<ATTRIBUTES>>).
+--mtime=<time>::
+ Set modification time of archive entries. Without this option
+ the committer time is used if `<tree-ish>` is a commit or tag,
+ and the current time if it is a tree.
+
<extra>::
This can be any options that the archiver backend understands.
See next section.
diff --git a/git-config.html b/git-config.html
index 8b5a2dc8a..80bb58728 100644
--- a/git-config.html
+++ b/git-config.html
@@ -5652,7 +5652,8 @@ format.attach
<em>format-patch</em>. The value can also be a double quoted string
which will enable attachments as the default and set the
value as the boundary. See the --attach option in
- <a href="git-format-patch.html">git-format-patch(1)</a>.
+ <a href="git-format-patch.html">git-format-patch(1)</a>. To countermand an earlier
+ value, set it to an empty string.
</p>
</dd>
<dt class="hdlist1">
diff --git a/git-credential.html b/git-credential.html
index 84b90c525..6956f32e7 100644
--- a/git-credential.html
+++ b/git-credential.html
@@ -915,6 +915,16 @@ attributes is terminated by a blank line or end-of-file.</p></div>
</p>
</dd>
<dt class="hdlist1">
+<code>password_expiry_utc</code>
+</dt>
+<dd>
+<p>
+ Generated passwords such as an OAuth access token may have an expiry date.
+ When reading credentials from helpers, <code>git credential fill</code> ignores expired
+ passwords. Represented as Unix time UTC, seconds since 1970.
+</p>
+</dd>
+<dt class="hdlist1">
<code>url</code>
</dt>
<dd>
@@ -947,7 +957,7 @@ username in the example above) will be left unset.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-11-20 22:53:16 PST
+ 2023-02-27 10:47:08 PST
</div>
</div>
</body>
diff --git a/git-credential.txt b/git-credential.txt
index ac2818b9f..29d184ab8 100644
--- a/git-credential.txt
+++ b/git-credential.txt
@@ -144,6 +144,12 @@ Git understands the following attributes:
The credential's password, if we are asking it to be stored.
+`password_expiry_utc`::
+
+ Generated passwords such as an OAuth access token may have an expiry date.
+ When reading credentials from helpers, `git credential fill` ignores expired
+ passwords. Represented as Unix time UTC, seconds since 1970.
+
`url`::
When this special attribute is read by `git credential`, the
diff --git a/gitattributes.html b/gitattributes.html
index 3073b41d2..ee3d74b84 100644
--- a/gitattributes.html
+++ b/gitattributes.html
@@ -1528,6 +1528,40 @@ parameters, just like <code>GIT_EXTERNAL_DIFF</code> program is called.
See <a href="git.html">git(1)</a> for details.</p></div>
</div>
<div class="sect3">
+<h4 id="_setting_the_internal_diff_algorithm">Setting the internal diff algorithm</h4>
+<div class="paragraph"><p>The diff algorithm can be set through the <code>diff.algorithm</code> config key, but
+sometimes it may be helpful to set the diff algorithm per path. For example,
+one may want to use the <code>minimal</code> diff algorithm for .json files, and the
+<code>histogram</code> for .c files, and so on without having to pass in the algorithm
+through the command line each time.</p></div>
+<div class="paragraph"><p>First, in <code>.gitattributes</code>, assign the <code>diff</code> attribute for paths.</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>*.json diff=&lt;name&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Then, define a "diff.&lt;name&gt;.algorithm" configuration to specify the diff
+algorithm, choosing from <code>myers</code>, <code>patience</code>, <code>minimal</code>, or <code>histogram</code>.</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[diff "&lt;name&gt;"]
+ algorithm = histogram</code></pre>
+</div></div>
+<div class="paragraph"><p>This diff algorithm applies to user facing diff output like git-diff(1),
+git-show(1) and is used for the <code>--stat</code> output as well. The merge machinery
+will not use the diff algorithm set through this method.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">If <code>diff.&lt;name&gt;.command</code> is defined for path with the
+<code>diff=&lt;name&gt;</code> attribute, it is executed as an external diff driver
+(see above), and adding <code>diff.&lt;name&gt;.algorithm</code> has no effect, as the
+algorithm is not passed to the external diff driver.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect3">
<h4 id="_defining_a_custom_hunk_header">Defining a custom hunk-header</h4>
<div class="paragraph"><p>Each group of changes (called a "hunk") in the textual diff output
is prefixed with a line of the form:</p></div>
@@ -2202,7 +2236,7 @@ frotz unspecified</code></pre>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-01-04 22:32:44 PST
+ 2023-02-27 10:47:08 PST
</div>
</div>
</body>
diff --git a/gitattributes.txt b/gitattributes.txt
index c19e64ea0..39bfbca1f 100644
--- a/gitattributes.txt
+++ b/gitattributes.txt
@@ -758,6 +758,37 @@ with the above configuration, i.e. `j-c-diff`, with 7
parameters, just like `GIT_EXTERNAL_DIFF` program is called.
See linkgit:git[1] for details.
+Setting the internal diff algorithm
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The diff algorithm can be set through the `diff.algorithm` config key, but
+sometimes it may be helpful to set the diff algorithm per path. For example,
+one may want to use the `minimal` diff algorithm for .json files, and the
+`histogram` for .c files, and so on without having to pass in the algorithm
+through the command line each time.
+
+First, in `.gitattributes`, assign the `diff` attribute for paths.
+
+------------------------
+*.json diff=<name>
+------------------------
+
+Then, define a "diff.<name>.algorithm" configuration to specify the diff
+algorithm, choosing from `myers`, `patience`, `minimal`, or `histogram`.
+
+----------------------------------------------------------------
+[diff "<name>"]
+ algorithm = histogram
+----------------------------------------------------------------
+
+This diff algorithm applies to user facing diff output like git-diff(1),
+git-show(1) and is used for the `--stat` output as well. The merge machinery
+will not use the diff algorithm set through this method.
+
+NOTE: If `diff.<name>.command` is defined for path with the
+`diff=<name>` attribute, it is executed as an external diff driver
+(see above), and adding `diff.<name>.algorithm` has no effect, as the
+algorithm is not passed to the external diff driver.
Defining a custom hunk-header
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/gitcredentials.html b/gitcredentials.html
index f416cd1a3..cef639fbe 100644
--- a/gitcredentials.html
+++ b/gitcredentials.html
@@ -949,7 +949,7 @@ helper
<div class="paragraph"><p>If there are multiple instances of the <code>credential.helper</code> configuration
variable, each helper will be tried in turn, and may provide a username,
password, or nothing. Once Git has acquired both a username and a
-password, no more helpers will be tried.</p></div>
+non-expired password, no more helpers will be tried.</p></div>
<div class="paragraph"><p>If <code>credential.helper</code> is configured to the empty string, this resets
the helper list to empty (so you may override a helper set by a
lower-priority config file by configuring the empty-string helper,
@@ -1110,7 +1110,7 @@ helpers will just ignore the new requests).</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-11-22 19:59:10 PST
+ 2023-02-27 10:47:08 PST
</div>
</div>
</body>
diff --git a/gitcredentials.txt b/gitcredentials.txt
index 4522471c3..100f045bb 100644
--- a/gitcredentials.txt
+++ b/gitcredentials.txt
@@ -167,7 +167,7 @@ helper::
If there are multiple instances of the `credential.helper` configuration
variable, each helper will be tried in turn, and may provide a username,
password, or nothing. Once Git has acquired both a username and a
-password, no more helpers will be tried.
+non-expired password, no more helpers will be tried.
+
If `credential.helper` is configured to the empty string, this resets
the helper list to empty (so you may override a helper set by a
diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html
index 273f3d566..a8b11f2fb 100644
--- a/howto/coordinate-embargoed-releases.html
+++ b/howto/coordinate-embargoed-releases.html
@@ -1038,7 +1038,7 @@ Thanks,
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:12 PST
+ 2023-02-27 10:47:47 PST
</div>
</div>
</body>
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html
index c2b1c4ff0..9e82fcdd4 100644
--- a/howto/keep-canonical-history-correct.html
+++ b/howto/keep-canonical-history-correct.html
@@ -938,7 +938,7 @@ tip of your <em>master</em> again and redo the two merges:</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:11 PST
+ 2023-02-27 10:47:47 PST
</div>
</div>
</body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html
index 18e5bf922..b944359a1 100644
--- a/howto/maintain-git.html
+++ b/howto/maintain-git.html
@@ -1478,7 +1478,7 @@ $ git update-ref -d $mf/ai/topic</code></pre>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:12 PST
+ 2023-02-27 10:47:47 PST
</div>
</div>
</body>
diff --git a/howto/new-command.html b/howto/new-command.html
index 53e7049a2..36a4c7fa7 100644
--- a/howto/new-command.html
+++ b/howto/new-command.html
@@ -863,7 +863,7 @@ letter [PATCH 0/n].
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:08 PST
+ 2023-02-27 10:47:45 PST
</div>
</div>
</body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html
index 1332ec3d9..8cf0140ed 100644
--- a/howto/rebase-from-internal-branch.html
+++ b/howto/rebase-from-internal-branch.html
@@ -895,7 +895,7 @@ the #1' commit.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:11 PST
+ 2023-02-27 10:47:47 PST
</div>
</div>
</body>
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html
index 60121ecb1..b2d151783 100644
--- a/howto/rebuild-from-update-hook.html
+++ b/howto/rebuild-from-update-hook.html
@@ -847,7 +847,7 @@ This is still crude and does not protect against simultaneous
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:11 PST
+ 2023-02-27 10:47:47 PST
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html
index 31aae6f81..717600049 100644
--- a/howto/recover-corrupted-blob-object.html
+++ b/howto/recover-corrupted-blob-object.html
@@ -880,7 +880,7 @@ thing.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:11 PST
+ 2023-02-27 10:47:46 PST
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html
index cd6fab3dd..d4bd1d523 100644
--- a/howto/recover-corrupted-object-harder.html
+++ b/howto/recover-corrupted-object-harder.html
@@ -1189,7 +1189,7 @@ int main(int argc, char **argv)
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:11 PST
+ 2023-02-27 10:47:47 PST
</div>
</div>
</body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html
index f64f9cc06..2e7971575 100644
--- a/howto/revert-a-faulty-merge.html
+++ b/howto/revert-a-faulty-merge.html
@@ -1025,7 +1025,7 @@ P---o---o---M---x---x---W---x---M2
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:11 PST
+ 2023-02-27 10:47:46 PST
</div>
</div>
</body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html
index f2fa30f7b..2400077f6 100644
--- a/howto/revert-branch-rebase.html
+++ b/howto/revert-branch-rebase.html
@@ -907,7 +907,7 @@ Committed merge 7fb9b7262a1d1e0a47bbfdcbbcf50ce0635d3f8f
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:08 PST
+ 2023-02-27 10:47:45 PST
</div>
</div>
</body>
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html
index a786250fb..813f3cfaf 100644
--- a/howto/separating-topic-branches.html
+++ b/howto/separating-topic-branches.html
@@ -841,7 +841,7 @@ o---o"master"</code></pre>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:10 PST
+ 2023-02-27 10:47:46 PST
</div>
</div>
</body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html
index 566fb7e2f..ff5bd1e24 100644
--- a/howto/setup-git-server-over-http.html
+++ b/howto/setup-git-server-over-http.html
@@ -1071,7 +1071,7 @@ help diagnosing the problem, but removes security checks.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:10 PST
+ 2023-02-27 10:47:46 PST
</div>
</div>
</body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html
index a83258900..3376969be 100644
--- a/howto/update-hook-example.html
+++ b/howto/update-hook-example.html
@@ -930,7 +930,7 @@ that JC can make non-fast-forward pushes on it.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:09 PST
+ 2023-02-27 10:47:46 PST
</div>
</div>
</body>
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html
index 4df55e88d..2c00dd161 100644
--- a/howto/use-git-daemon.html
+++ b/howto/use-git-daemon.html
@@ -791,7 +791,7 @@ a good practice to put the paths after a "--" separator.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:09 PST
+ 2023-02-27 10:47:45 PST
</div>
</div>
</body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html
index b52f4eea2..42bec2a20 100644
--- a/howto/using-merge-subtree.html
+++ b/howto/using-merge-subtree.html
@@ -848,7 +848,7 @@ Please note that if the other project merges from you, then it will
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:08 PST
+ 2023-02-27 10:47:45 PST
</div>
</div>
</body>
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html
index 684df14b1..b5f70f52c 100644
--- a/howto/using-signed-tag-in-pull-request.html
+++ b/howto/using-signed-tag-in-pull-request.html
@@ -952,7 +952,7 @@ as part of the merge commit.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-02-24 11:52:09 PST
+ 2023-02-27 10:47:45 PST
</div>
</div>
</body>