зеркало из https://github.com/microsoft/git.git
Merge branch 'da/mergetool-meld'
Newer versions of 'meld' breaks the auto-detection we use to see if they are new enough to support the `--output` option. * da/mergetool-meld: mergetools/meld: make usage of `--output` configurable and more robust
This commit is contained in:
Коммит
48f662dd74
|
@ -1755,6 +1755,15 @@ mergetool.<tool>.trustExitCode::
|
|||
if the file has been updated, otherwise the user is prompted to
|
||||
indicate the success of the merge.
|
||||
|
||||
mergetool.meld.hasOutput::
|
||||
Older versions of `meld` do not support the `--output` option.
|
||||
Git will attempt to detect whether `meld` supports `--output`
|
||||
by inspecting the output of `meld --help`. Configuring
|
||||
`mergetool.meld.hasOutput` will make Git skip these checks and
|
||||
use the configured value instead. Setting `mergetool.meld.hasOutput`
|
||||
to `true` tells Git to unconditionally use the `--output` option,
|
||||
and `false` avoids using `--output`.
|
||||
|
||||
mergetool.keepBackup::
|
||||
After performing a merge, the original file with conflict markers
|
||||
can be saved as a file with a `.orig` extension. If this variable
|
||||
|
|
|
@ -18,13 +18,18 @@ merge_cmd () {
|
|||
check_unchanged
|
||||
}
|
||||
|
||||
# Check whether 'meld --output <file>' is supported
|
||||
# Check whether we should use 'meld --output <file>'
|
||||
check_meld_for_output_version () {
|
||||
meld_path="$(git config mergetool.meld.path)"
|
||||
meld_path="${meld_path:-meld}"
|
||||
|
||||
if "$meld_path" --help 2>&1 | grep -e --output >/dev/null
|
||||
if meld_has_output_option=$(git config --bool mergetool.meld.hasOutput)
|
||||
then
|
||||
: use configured value
|
||||
elif "$meld_path" --help 2>&1 |
|
||||
grep -e '--output=' -e '\[OPTION\.\.\.\]' >/dev/null
|
||||
then
|
||||
: old ones mention --output and new ones just say OPTION...
|
||||
meld_has_output_option=true
|
||||
else
|
||||
meld_has_output_option=false
|
||||
|
|
Загрузка…
Ссылка в новой задаче