diff options
| author | Antonin Delpeuch <antonin@delpeuch.eu> | 2025-11-06 22:41:54 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-11-07 07:32:52 -0800 |
| commit | bed7812b6a6366f302590ef9e7d9dcb5a3b787f0 (patch) | |
| tree | 3f3f35426eaed6fe3d43eae285956984553ec6b9 /Documentation/diff-algorithm-option.adoc | |
| parent | xdiff: add 'minimal' to XDF_DIFF_ALGORITHM_MASK (diff) | |
| download | git-bed7812b6a6366f302590ef9e7d9dcb5a3b787f0.tar.gz git-bed7812b6a6366f302590ef9e7d9dcb5a3b787f0.zip | |
blame: make diff algorithm configurable
The diff algorithm used in 'git-blame(1)' is set to 'myers',
without the possibility to change it aside from the `--minimal` option.
There has been long-standing interest in changing the default diff
algorithm to "histogram", and Git 3.0 was floated as a possible occasion
for taking some steps towards that:
https://lore.kernel.org/git/xmqqed873vgn.fsf@gitster.g/
As a preparation for this move, it is worth making sure that the diff
algorithm is configurable where useful.
Make it configurable in the `git-blame(1)` command by introducing the
`--diff-algorithm` option and make honor the `diff.algorithm` config
variable. Keep Myers diff as the default.
Signed-off-by: Antonin Delpeuch <antonin@delpeuch.eu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/diff-algorithm-option.adoc')
| -rw-r--r-- | Documentation/diff-algorithm-option.adoc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Documentation/diff-algorithm-option.adoc b/Documentation/diff-algorithm-option.adoc new file mode 100644 index 0000000000..8e3a0b63d7 --- /dev/null +++ b/Documentation/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. |
