diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-02-27 10:49:30 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-02-27 10:49:30 -0800 |
commit | 9813725002ed50a35db33e6294c3778d2e2584e5 (patch) | |
tree | 4d3407458d08c5629bd8ffe11775eb7a04401b95 | |
parent | 613334cb5a7643a40c588048c6fb84dddd3c287c (diff) | |
download | git-htmldocs-9813725002ed50a35db33e6294c3778d2e2584e5.tar.gz |
Autogenerated HTML docs for v2.40.0-rc0-32-ga0f05f
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=<time>
+</dt>
+<dd>
+<p>
+ Set modification time of archive entries. Without this option
+ the committer time is used if <code><tree-ish></code> is a commit or tag,
+ and the current time if it is a tree.
+</p>
+</dd>
+<dt class="hdlist1">
<extra>
</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=<name></code></pre>
+</div></div>
+<div class="paragraph"><p>Then, define a "diff.<name>.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 "<name>"]
+ 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.<name>.command</code> is defined for path with the
+<code>diff=<name></code> attribute, it is executed as an external diff driver
+(see above), and adding <code>diff.<name>.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>
|