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
39 changes: 39 additions & 0 deletions RelNotes/2.53.0.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ UI, Workflows & Features
in a transaction by default, instead of emitting where each refs
should point at and leaving the actual update to another command.

* "git blame" learns "--diff-algorithm=<algo>" option.


Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
Expand Down Expand Up @@ -57,6 +59,43 @@ Fixes since v2.52
corrected.
(merge 7a03a10a3a jx/repo-struct-utf8width-fix later to maint).

* Yet another corner case fix around renames in the "ort" merge
strategy.
(merge a562d90a35 en/ort-rename-another-fix later to maint).

* Test leakfix.
(merge 14b561e768 jk/test-mktemp-leakfix later to maint).

* Update a version of action used at the GitHub Actrions CI.
(merge cd99203f86 js/ci-github-setup-go-update later to maint).

* The "return errno = EFOO, -1" construct, which is heavily used in
compat/mingw.c and triggers warnings under "-Wcomma", has been
rewritten to avoid the warnings.
(merge af3919816f js/mingw-assign-comma-fix later to maint).

* Makefile based build have recently been updated to build a
libgit.a that also has reftable and xdiff objects; CMake based
build procedure has been updated to match.
(merge b0d5c88cca js/cmake-libgit-fix later to maint).

* Under-allocation fix.
(merge d22a488482 js/wincred-get-credential-alloc-fix later to maint).

* "git worktree list" attempts to show paths to worktrees while
aligning them, but miscounted display columns for the paths when
non-ASCII characters were involved, which has been corrected.
(merge 08dfa59835 pw/worktree-list-display-width-fix later to maint).

* "Windows+meson" job at the GitHub Actions CI was hard to debug, as
it did not show and save failed test artifacts, which has been
corrected.
(merge 17bd1108ea jk/ci-windows-meson-test-fix later to maint).

* Emulation code clean-up.
(merge 2367c6bcd6 gf/win32-pthread-cond-wait-err 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).
20 changes: 20 additions & 0 deletions diff-algorithm-option.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
`--diff-algorithm=(patience|minimal|histogram|myers)`::
Choose a diff algorithm. The variants are as follows:
+
--
`default`;;
`myers`;;
The basic greedy diff algorithm. Currently, this is the default.
`minimal`;;
Spend extra time to make sure the smallest possible diff is
produced.
`patience`;;
Use "patience diff" algorithm when generating patches.
`histogram`;;
This algorithm extends the patience algorithm to "support
low-occurrence common elements".
--
+
For instance, if you configured the `diff.algorithm` variable to a
non-default value and want to use the default one, then you
have to use `--diff-algorithm=default` option.
21 changes: 1 addition & 20 deletions diff-options.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -197,26 +197,7 @@ and starts with _<text>_, this algorithm attempts to prevent it from
appearing as a deletion or addition in the output. It uses the "patience
diff" algorithm internally.

`--diff-algorithm=(patience|minimal|histogram|myers)`::
Choose a diff algorithm. The variants are as follows:
+
--
`default`;;
`myers`;;
The basic greedy diff algorithm. Currently, this is the default.
`minimal`;;
Spend extra time to make sure the smallest possible diff is
produced.
`patience`;;
Use "patience diff" algorithm when generating patches.
`histogram`;;
This algorithm extends the patience algorithm to "support
low-occurrence common elements".
--
+
For instance, if you configured the `diff.algorithm` variable to a
non-default value and want to use the default one, then you
have to use `--diff-algorithm=default` option.
include::diff-algorithm-option.adoc[]

`--stat[=<width>[,<name-width>[,<count>]]]`::
Generate a diffstat. By default, as much space as necessary
Expand Down
2 changes: 2 additions & 0 deletions git-blame.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ include::blame-options.adoc[]
Ignore whitespace when comparing the parent's version and
the child's to find where the lines came from.

include::diff-algorithm-option.adoc[]

--abbrev=<n>::
Instead of using the default 7+1 hexadecimal digits as the
abbreviated object name, use <m>+1 digits, where <m> is at
Expand Down
38 changes: 37 additions & 1 deletion git-blame.html
Original file line number Diff line number Diff line change
Expand Up @@ -765,6 +765,42 @@ <h2 id="_options">OPTIONS</h2>
<p>Ignore whitespace when comparing the parent&#8217;s version and
the child&#8217;s to find where the lines came from.</p>
</dd>
<dt class="hdlist1"><code>--diff-algorithm=</code>(<code>patience</code>|<code>minimal</code>|<code>histogram</code>|<code>myers</code>)</dt>
<dd>
<p>Choose a diff algorithm. The variants are as follows:</p>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>default</code></dt>
<dt class="hdlist1"><code>myers</code></dt>
<dd>
<p>The basic greedy diff algorithm. Currently, this is the default.</p>
</dd>
<dt class="hdlist1"><code>minimal</code></dt>
<dd>
<p>Spend extra time to make sure the smallest possible diff is
produced.</p>
</dd>
<dt class="hdlist1"><code>patience</code></dt>
<dd>
<p>Use "patience diff" algorithm when generating patches.</p>
</dd>
<dt class="hdlist1"><code>histogram</code></dt>
<dd>
<p>This algorithm extends the patience algorithm to "support
low-occurrence common elements".</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="paragraph">
<p>For instance, if you configured the <code>diff.algorithm</code> variable to a
non-default value and want to use the default one, then you
have to use <code>--diff-algorithm=default</code> option.</p>
</div>
</dd>
<dt class="hdlist1">--abbrev=&lt;n&gt;</dt>
<dd>
<p>Instead of using the default 7+1 hexadecimal digits as the
Expand Down Expand Up @@ -1100,7 +1136,7 @@ <h2 id="_git">GIT</h2>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-06-20 18:10:42 -0700
Last updated 2025-11-26 11:15:27 -0800
</div>
</div>
</body>
Expand Down