<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/mergetools/meld, branch next</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=next</id>
<link rel='self' href='https://git.shady.money/git/atom?h=next'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2022-04-03T22:10:04Z</updated>
<entry>
<title>mergetools: add description to all diff/merge tools</title>
<updated>2022-04-03T22:10:04Z</updated>
<author>
<name>Fernando Ramos</name>
<email>greenfoo@u92.eu</email>
</author>
<published>2022-03-30T19:19:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=980145f7470e20826ca22d7343494712eda9c81d'/>
<id>urn:sha1:980145f7470e20826ca22d7343494712eda9c81d</id>
<content type='text'>
The output of `git mergetool --tool-help` and `git difftool --tool-help`
only showed the `alias` of each available merge/diff tool.

It is not always obvious what tool these `aliases` end up using (ex:
`opendiff` runs `FileMerge` and `bc` runs `Beyond Compare`).

This commit adds a short description to each of them to help the user
identify the `alias` they want.

Signed-off-by: Fernando Ramos &lt;greenfoo@u92.eu&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>mergetool: allow auto-merge for meld to follow the vim-diff behavior</title>
<updated>2020-09-17T00:11:20Z</updated>
<author>
<name>Lin Sun</name>
<email>lin.sun@zoom.us</email>
</author>
<published>2020-05-06T23:31:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dbd8c09bfe9d783ae01121bafb26a2dd108c0c3f'/>
<id>urn:sha1:dbd8c09bfe9d783ae01121bafb26a2dd108c0c3f</id>
<content type='text'>
Make the mergetool used with "meld" backend behave similarly to "vimdiff" by
telling it to auto-merge non-conflicting parts and highlight the conflicting
parts when `mergetool.meld.useAutoMerge` is configured with `true`, or `auto`
for detecting the `--auto-merge` option automatically.

Helped-by: Đoàn Trần Công Danh &lt;congdanhqx@gmail.com&gt;
Helped-by: David Aguilar &lt;davvid@gmail.com&gt;
Signed-off-by: Lin Sun &lt;lin.sun@zoom.us&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>mergetools/meld: improve compatibiilty with Meld on macOS X</title>
<updated>2017-06-19T05:11:29Z</updated>
<author>
<name>David Aguilar</name>
<email>davvid@gmail.com</email>
</author>
<published>2017-06-19T02:10:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0af85f84bd6d1755b3b8559ccfd99383c2928ac3'/>
<id>urn:sha1:0af85f84bd6d1755b3b8559ccfd99383c2928ac3</id>
<content type='text'>
The macOS X fork of Meld[1] requires a "=" in the "--output"
argument, as it uses a wrapper[2] script that munges the
"--output" argument before calling into the common "meld"
script.

The macOS X wrapper script[2] accepts "--output=&lt;filename&gt;"
only, despite the fact that the underlying meld code accepts
both "--output &lt;filename" and "--output=&lt;filename&gt;"[3].

All versions of meld which accept "--output" accept it in
the "--output=&lt;filename&gt;" form, so use "--output=&lt;file&gt;" for
maximum compatibility.

[1] https://github.com/yousseb/meld
[2] https://github.com/yousseb/meld/blob/master/osx/Meld
[3] https://github.com/yousseb/meld/issues/42

Reported-by: Matthew Groth &lt;mgroth49@gmail.com&gt;
Helped-by: Samuel Lijin &lt;sxlijin@gmail.com&gt;
Signed-off-by: David Aguilar &lt;davvid@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>mergetool: honor mergetool.$tool.trustExitCode for built-in tools</title>
<updated>2016-11-29T18:54:03Z</updated>
<author>
<name>David Aguilar</name>
<email>davvid@gmail.com</email>
</author>
<published>2016-11-29T09:38:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7c10605d2ccf499af6136e993cf248892be39168'/>
<id>urn:sha1:7c10605d2ccf499af6136e993cf248892be39168</id>
<content type='text'>
Built-in merge tools contain a hard-coded assumption about
whether or not a tool's exit code can be trusted to determine
the success or failure of a merge.  Tools whose exit codes are
not trusted contain calls to check_unchanged() in their
merge_cmd() functions.

A problem with this is that the trustExitCode configuration is
not honored for built-in tools.

Teach built-in tools to honor the trustExitCode configuration.
Extend run_merge_cmd() so that it is responsible for calling
check_unchanged() when a tool's exit code cannot be trusted.
Remove check_unchanged() calls from scriptlets since they are no
longer responsible for calling it.

When no configuration is present, exit_code_trustable() is
checked to see whether the exit code should be trusted.
The default implementation returns false.

Tools whose exit codes can be trusted override
exit_code_trustable() to true.

Reported-by: Dun Peal &lt;dunpealer@gmail.com&gt;
Signed-off-by: David Aguilar &lt;davvid@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>mergetools/meld: make usage of `--output` configurable and more robust</title>
<updated>2014-10-16T18:58:11Z</updated>
<author>
<name>David Aguilar</name>
<email>davvid@gmail.com</email>
</author>
<published>2014-10-16T04:45:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b12d04503b0aba1f2d68b164b348cbf94bbe570b'/>
<id>urn:sha1:b12d04503b0aba1f2d68b164b348cbf94bbe570b</id>
<content type='text'>
Older versions of meld listed --output in `meld --help`.
Newer versions only mention `meld [OPTIONS...]`.
Improve the checks to catch these newer versions.

Add a `mergetool.meld.hasOutput` configuration to allow
overriding the heuristic.

Reported-by: Andrey Novoseltsev &lt;novoselt@gmail.com&gt;
Helped-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Signed-off-by: David Aguilar &lt;davvid@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>mergetools/meld: Use --help output to detect --output support</title>
<updated>2012-02-10T22:53:18Z</updated>
<author>
<name>Jonathan Nieder</name>
<email>jrnieder@gmail.com</email>
</author>
<published>2012-02-10T21:57:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=759a904e090b56a3941c1133a0f3302b7fec5054'/>
<id>urn:sha1:759a904e090b56a3941c1133a0f3302b7fec5054</id>
<content type='text'>
In v1.7.7-rc0~3^2 (2011-08-19), git mergetool's "meld" support learned
to use the --output option when calling versions of meld that are
detected to support it (1.5.0 and newer, hopefully).

Alas, it misdetects old versions (before 1.1.5, 2006-06-11) of meld as
supporting the option, so on systems with such meld, instead of
getting a nice merge helper, the operator gets a dialog box with the
text "Wrong number of arguments (Got 5)".  (Version 1.1.5 is when meld
switched to using optparse.  One consequence of that change was that
errors in usage are detected and signalled through the exit status
even when --help was passed.)

Luckily there is a simpler check that is more reliable: the usage
string printed by "meld --help" reliably reflects whether --output is
supported in a given version.  Use it.

Reported-by: Jeff Epler &lt;jepler@unpythonic.net&gt;
Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>mergetools/meld: Use '--output' when available</title>
<updated>2011-08-19T17:52:16Z</updated>
<author>
<name>David Aguilar</name>
<email>davvid@gmail.com</email>
</author>
<published>2011-08-19T09:14:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f61bd9c68a4ed81afcc1fbbf5b956e781d88b434'/>
<id>urn:sha1:f61bd9c68a4ed81afcc1fbbf5b956e781d88b434</id>
<content type='text'>
meld 1.5.0 and newer allow the output file to be specified
when merging multiple files.  Check whether the meld command
supports '--output' and use it when available.

Signed-off-by: David Aguilar &lt;davvid@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>mergetool--lib: Refactor tools into separate files</title>
<updated>2011-08-19T07:09:19Z</updated>
<author>
<name>David Aguilar</name>
<email>davvid@gmail.com</email>
</author>
<published>2011-08-18T07:23:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bc7a96a8965d4ce0651689301e1702a942dfb9f0'/>
<id>urn:sha1:bc7a96a8965d4ce0651689301e1702a942dfb9f0</id>
<content type='text'>
Individual merge tools are now defined in a mergetools/$tool
file which is sourced at runtime.

The individual files are installed into $(git --exec-path)/mergetools/.
New tools can be added by creating a new file instead of editing the
git-mergetool--lib.sh scriptlet.

http://thread.gmane.org/gmane.comp.version-control.git/134906/focus=135006

Signed-off-by: David Aguilar &lt;davvid@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
