Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions RelNotes/2.53.0.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ UI, Workflows & Features

* Add a new manual that describes the data model.

* "git fast-import" learns "--strip-if-invalid" option to drop
invalid cryptographic signature from objects.


Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
Expand All @@ -38,6 +41,13 @@ Performance, Internal Implementation, Development Support etc.
* A part of code paths that deals with loose objects has been cleaned
up.

* "make strip" has been taught to strip "scalar" as well as "git".

* Dockerised jobs at the GitHub Actions CI have been taught to show
more details of failed tests.

* Code refactoring around object database sources.


Fixes since v2.52
-----------------
Expand Down Expand Up @@ -105,8 +115,29 @@ Fixes since v2.52
* Various issues detected by Asan have been corrected.
(merge a031b6181a jk/asan-bonanza later to maint).

* "git config get --path" segfaulted on an ":(optional)path" that
does not exist, which has been corrected.
(merge 0bd16856ff jc/optional-path later to maint).

* The "--committer-date-is-author-date" option of "git am/rebase" is
a misguided one. The documentation is updated to discourage its
use.
(merge fbf3d0669f kh/doc-committer-date-is-author-date later to maint).

* The option help text given by "git config unset -h" described
the "--all" option to "replace", not "unset", multiple variables,
which has been corrected.
(merge 18bf67b753 rs/config-unset-opthelp-fix later to maint).

* The error message given by "git config set", when the variable
being updated has more than one values defined, used old style "git
config" syntax with an incorrect option in its hint, both of which
have been corrected.
(merge df963f0df4 rs/config-set-multi-error-message-fix later to maint).

* Other code cleanup, docfix, build fix, etc.
(merge 46207a54cc qj/doc-http-bad-want-response later to maint).
(merge df90eccd93 kh/doc-commit-extra-references later to maint).
(merge f18aa68861 rs/xmkstemp-simplify later to maint).
(merge fddba8f737 ja/doc-synopsis-style later to maint).
(merge 22ce0cb639 en/xdiff-cleanup-2 later to maint).
7 changes: 7 additions & 0 deletions git-am.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,13 @@ Valid <action> for the `--whitespace` option are:
commit creation as the committer date. This allows the
user to lie about the committer date by using the same
value as the author date.
+
WARNING: The history walking machinery assumes that commits have
non-decreasing commit timestamps. You should consider if you really need
to use this option. Then you should only use this option to override the
committer date when applying commits on top of a base which commit is
older (in terms of the commit date) than the oldest patch you are
applying.

--ignore-date::
By default the command records the date from the e-mail
Expand Down
19 changes: 18 additions & 1 deletion git-am.html
Original file line number Diff line number Diff line change
Expand Up @@ -656,6 +656,23 @@ <h2 id="_options">OPTIONS</h2>
commit creation as the committer date. This allows the
user to lie about the committer date by using the same
value as the author date.</p>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<div class="title">Warning</div>
</td>
<td class="content">
The history walking machinery assumes that commits have
non-decreasing commit timestamps. You should consider if you really need
to use this option. Then you should only use this option to override the
committer date when applying commits on top of a base which commit is
older (in terms of the commit date) than the oldest patch you are
applying.
</td>
</tr>
</table>
</div>
</dd>
<dt class="hdlist1">--ignore-date</dt>
<dd>
Expand Down Expand Up @@ -870,7 +887,7 @@ <h2 id="_git">GIT</h2>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-08-25 14:46:08 -0700
Last updated 2025-12-07 12:37:45 +0900
</div>
</div>
</body>
Expand Down
29 changes: 20 additions & 9 deletions git-fast-import.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,26 @@ fast-import stream! This option is enabled automatically for
remote-helpers that use the `import` capability, as they are
already trusted to run their own code.

--signed-tags=(verbatim|warn-verbatim|warn-strip|strip|abort)::
Specify how to handle signed tags. Behaves in the same way
as the same option in linkgit:git-fast-export[1], except that
default is 'verbatim' (instead of 'abort').

--signed-commits=(verbatim|warn-verbatim|warn-strip|strip|abort)::
Specify how to handle signed commits. Behaves in the same way
as the same option in linkgit:git-fast-export[1], except that
default is 'verbatim' (instead of 'abort').
`--signed-tags=(verbatim|warn-verbatim|warn-strip|strip|abort)`::
Specify how to handle signed tags. Behaves in the same way as
the `--signed-commits=<mode>` below, except that the
`strip-if-invalid` mode is not yet supported. Like for signed
commits, the default mode is `verbatim`.

`--signed-commits=<mode>`::
Specify how to handle signed commits. The following <mode>s
are supported:
+
* `verbatim`, which is the default, will silently import commit
signatures.
* `warn-verbatim` will import them, but will display a warning.
* `abort` will make this program die when encountering a signed
commit.
* `strip` will silently make the commits unsigned.
* `warn-strip` will make them unsigned, but will display a warning.
* `strip-if-invalid` will check signatures and, if they are invalid,
will strip them and display a warning. The validation is performed
in the same way as linkgit:git-verify-commit[1] does it.

Options for Frontends
~~~~~~~~~~~~~~~~~~~~~
Expand Down
44 changes: 35 additions & 9 deletions git-fast-import.html
Original file line number Diff line number Diff line change
Expand Up @@ -523,17 +523,43 @@ <h2 id="_options">OPTIONS</h2>
already trusted to run their own code.</p>
</div>
</dd>
<dt class="hdlist1">--signed-tags=(verbatim|warn-verbatim|warn-strip|strip|abort)</dt>
<dt class="hdlist1"><code>--signed-tags=</code>(<code>verbatim</code>|<code>warn-verbatim</code>|<code>warn-strip</code>|<code>strip</code>|<code>abort</code>)</dt>
<dd>
<p>Specify how to handle signed tags. Behaves in the same way
as the same option in <a href="git-fast-export.html">git-fast-export(1)</a>, except that
default is <em>verbatim</em> (instead of <em>abort</em>).</p>
<p>Specify how to handle signed tags. Behaves in the same way as
the <code>--signed-commits=</code><em>&lt;mode&gt;</em> below, except that the
<code>strip-if-invalid</code> mode is not yet supported. Like for signed
commits, the default mode is <code>verbatim</code>.</p>
</dd>
<dt class="hdlist1">--signed-commits=(verbatim|warn-verbatim|warn-strip|strip|abort)</dt>
<dt class="hdlist1"><code>--signed-commits=</code><em>&lt;mode&gt;</em></dt>
<dd>
<p>Specify how to handle signed commits. Behaves in the same way
as the same option in <a href="git-fast-export.html">git-fast-export(1)</a>, except that
default is <em>verbatim</em> (instead of <em>abort</em>).</p>
<p>Specify how to handle signed commits. The following &lt;mode&gt;s
are supported:</p>
<div class="ulist">
<ul>
<li>
<p><code>verbatim</code>, which is the default, will silently import commit
signatures.</p>
</li>
<li>
<p><code>warn-verbatim</code> will import them, but will display a warning.</p>
</li>
<li>
<p><code>abort</code> will make this program die when encountering a signed
commit.</p>
</li>
<li>
<p><code>strip</code> will silently make the commits unsigned.</p>
</li>
<li>
<p><code>warn-strip</code> will make them unsigned, but will display a warning.</p>
</li>
<li>
<p><code>strip-if-invalid</code> will check signatures and, if they are invalid,
will strip them and display a warning. The validation is performed
in the same way as <a href="git-verify-commit.html">git-verify-commit(1)</a> does it.</p>
</li>
</ul>
</div>
</dd>
</dl>
</div>
Expand Down Expand Up @@ -2619,7 +2645,7 @@ <h2 id="_git">GIT</h2>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-10-28 12:16:15 -0700
Last updated 2025-12-07 12:37:45 +0900
</div>
</div>
</body>
Expand Down
7 changes: 7 additions & 0 deletions git-rebase.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -474,6 +474,13 @@ See also INCOMPATIBLE OPTIONS below.
Instead of using the current time as the committer date, use
the author date of the commit being rebased as the committer
date. This option implies `--force-rebase`.
+
WARNING: The history walking machinery assumes that commits have
non-decreasing commit timestamps. You should consider if you really need
to use this option. Then you should only use this option to override the
committer date when rebasing commits on top of a base which commit is
older (in terms of the commit date) than the oldest commit you are
applying (in terms of the author date).

--ignore-date::
--reset-author-date::
Expand Down
19 changes: 18 additions & 1 deletion git-rebase.html
Original file line number Diff line number Diff line change
Expand Up @@ -1092,6 +1092,23 @@ <h2 id="_options">OPTIONS</h2>
<p>Instead of using the current time as the committer date, use
the author date of the commit being rebased as the committer
date. This option implies <code>--force-rebase</code>.</p>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<div class="title">Warning</div>
</td>
<td class="content">
The history walking machinery assumes that commits have
non-decreasing commit timestamps. You should consider if you really need
to use this option. Then you should only use this option to override the
committer date when rebasing commits on top of a base which commit is
older (in terms of the commit date) than the oldest commit you are
applying (in terms of the author date).
</td>
</tr>
</table>
</div>
</dd>
<dt class="hdlist1">--ignore-date</dt>
<dt class="hdlist1">--reset-author-date</dt>
Expand Down Expand Up @@ -2463,7 +2480,7 @@ <h2 id="_git">GIT</h2>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-08-28 14:32:44 -0700
Last updated 2025-12-07 12:37:45 +0900
</div>
</div>
</body>
Expand Down
Loading