mirror of
https://github.com/git-for-windows/git.git
synced 2026-06-13 08:57:56 -05:00
Make --no-ext-diff disable diff.<driver>.process in addition to diff.<driver>.command. Although the two mechanisms work differently (command replaces Git's output, process feeds hunks back into the pipeline), both invoke external tools and --no-ext-diff means "no external tools." Replace the OPT_BOOL for --ext-diff with an OPT_CALLBACK that sets both allow_external and no_diff_process, so a single option controls both. Passing --ext-diff explicitly clears no_diff_process, so a later --ext-diff overrides an earlier --no-ext-diff. Disable the diff process unconditionally in format-patch so that generated patches are always based on the builtin diff algorithm and can be applied reliably by recipients who do not have the external tool. Document that --diff-algorithm also bypasses the diff process, since it sets ignore_driver_algorithm which diff_process_fill_hunks already checks. Signed-off-by: Michael Montalbo <mmontalbo@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
24 lines
776 B
Plaintext
24 lines
776 B
Plaintext
`--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.
|
|
+
|
|
If you explicitly choose a diff algorithm, it also bypasses
|
|
`diff.<driver>.process` (see linkgit:gitattributes[5]).
|