diff --git a/RelNotes/2.53.0.adoc b/RelNotes/2.53.0.adoc index 7882bc59e..70c433867 100644 --- a/RelNotes/2.53.0.adoc +++ b/RelNotes/2.53.0.adoc @@ -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=" option. + Performance, Internal Implementation, Development Support etc. -------------------------------------------------------------- @@ -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). diff --git a/diff-algorithm-option.adoc b/diff-algorithm-option.adoc new file mode 100644 index 000000000..8e3a0b63d --- /dev/null +++ b/diff-algorithm-option.adoc @@ -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. diff --git a/diff-options.adoc b/diff-options.adoc index ae31520f7..9cdad6f72 100644 --- a/diff-options.adoc +++ b/diff-options.adoc @@ -197,26 +197,7 @@ and starts with __, 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[=[,[,]]]`:: Generate a diffstat. By default, as much space as necessary diff --git a/git-blame.adoc b/git-blame.adoc index e438d2862..adcbb6f5d 100644 --- a/git-blame.adoc +++ b/git-blame.adoc @@ -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=:: Instead of using the default 7+1 hexadecimal digits as the abbreviated object name, use +1 digits, where is at diff --git a/git-blame.html b/git-blame.html index ef620510a..cc05e315f 100644 --- a/git-blame.html +++ b/git-blame.html @@ -765,6 +765,42 @@

OPTIONS

Ignore whitespace when comparing the parent’s version and the child’s to find where the lines came from.

+
--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.

+
+
--abbrev=<n>

Instead of using the default 7+1 hexadecimal digits as the @@ -1100,7 +1136,7 @@

GIT