<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/mergetools, branch v2.5.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.5.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.5.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-05-20T20:13:44Z</updated>
<entry>
<title>mergetools: add winmerge as a builtin tool</title>
<updated>2015-05-20T20:13:44Z</updated>
<author>
<name>David Aguilar</name>
<email>davvid@gmail.com</email>
</author>
<published>2015-05-20T09:07:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3e4f2373b295e19dbc1a6bd0e743f65b500b7bda'/>
<id>urn:sha1:3e4f2373b295e19dbc1a6bd0e743f65b500b7bda</id>
<content type='text'>
Add a winmerge scriptlet with the commands described in [1] so
that users can use winmerge without needing to perform any
additional configuration.

[1] http://thread.gmane.org/gmane.comp.version-control.git/268631

Helped-by: Philip Oakley &lt;philipoakley@iee.org&gt;
Helped-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Helped-by: Sebastian Schuberth &lt;sschuberth@gmail.com&gt;
Helped-by: SZEDER Gábor &lt;szeder@ira.uka.de&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: stop setting $status in merge_cmd()</title>
<updated>2014-11-21T19:27:53Z</updated>
<author>
<name>David Aguilar</name>
<email>davvid@gmail.com</email>
</author>
<published>2014-11-21T09:03:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1e86d5b11dcf31adf11363caa1e96a94612b16f4'/>
<id>urn:sha1:1e86d5b11dcf31adf11363caa1e96a94612b16f4</id>
<content type='text'>
No callers rely on $status so there's don't need to set
it during merge_cmd() for diffmerge, emerge, and kdiff3.

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>Merge branch 'oc/mergetools-beyondcompare'</title>
<updated>2014-10-29T17:08:04Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-10-29T17:08:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c1777a297043a06d6c18d383d17447f5eefcdcbe'/>
<id>urn:sha1:c1777a297043a06d6c18d383d17447f5eefcdcbe</id>
<content type='text'>
* oc/mergetools-beyondcompare:
  mergetool: rename bc3 to bc
</content>
</entry>
<entry>
<title>mergetool: rename bc3 to bc</title>
<updated>2014-10-21T18:25:30Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-10-20T22:49:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f13f9b0eab8ec4880be0e4423ebdcfdbcd41eeb6'/>
<id>urn:sha1:f13f9b0eab8ec4880be0e4423ebdcfdbcd41eeb6</id>
<content type='text'>
Beyond Compare version 4 works the same way as version 3, so rename
the existing "bc3" adaptor to just "bc", while keeping "bc3" as a
backward compatible wrapper.

Noticed-by: Olivier Croquette &lt;ocroquette@free.fr&gt;
Helped-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: add vimdiff3 mode</title>
<updated>2014-04-22T19:49:07Z</updated>
<author>
<name>Felipe Contreras</name>
<email>felipe.contreras@gmail.com</email>
</author>
<published>2014-04-21T00:24:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7c147b77d34f072c40b912fafba499727921fa6e'/>
<id>urn:sha1:7c147b77d34f072c40b912fafba499727921fa6e</id>
<content type='text'>
It's similar to the default, except that the other windows are hidden.
This ensures that removed/added colors are still visible on the main
merge window, but the other windows not visible.

Specially useful with merge.conflictstyle=diff3.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;
Acked-by: David Aguilar &lt;davvid@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>mergetools/diffmerge: support DiffMerge as a git mergetool</title>
<updated>2013-10-13T23:00:57Z</updated>
<author>
<name>Stefan Saasen</name>
<email>ssaasen@atlassian.com</email>
</author>
<published>2013-10-12T22:29:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c5f424fd014488bd8a92b97f52bfe47823bc2128'/>
<id>urn:sha1:c5f424fd014488bd8a92b97f52bfe47823bc2128</id>
<content type='text'>
DiffMerge is a non-free (but gratis) tool that supports OS X, Windows and Linux.

    See http://www.sourcegear.com/diffmerge/

DiffMerge includes a script `/usr/bin/diffmerge` that can be used to launch the
graphical compare tool.

This change adds mergetool support for DiffMerge and adds 'diffmerge' as an
option to the mergetool help.

Signed-off-by: Stefan Saasen &lt;ssaasen@atlassian.com&gt;
Acked-by: David Aguilar &lt;davvid@gmail.com&gt;
Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
</content>
</entry>
<entry>
<title>Sync with v1.8.2.3</title>
<updated>2013-05-09T20:32:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-05-09T20:32:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b387c77b12953d543bf5efc3825b5be26d753f9c'/>
<id>urn:sha1:b387c77b12953d543bf5efc3825b5be26d753f9c</id>
<content type='text'>
* maint:
  Git 1.8.2.3
  t5004: avoid using tar for checking emptiness of archive
  t5004: ignore pax global header file
  mergetools/kdiff3: do not use --auto when diffing
  transport-helper: trivial style cleanup
</content>
</entry>
<entry>
<title>mergetools/kdiff3: do not use --auto when diffing</title>
<updated>2013-05-09T18:59:39Z</updated>
<author>
<name>David Aguilar</name>
<email>davvid@gmail.com</email>
</author>
<published>2013-05-09T09:13:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e2161bc38514722050b3a9c50a7897c40b6a93cf'/>
<id>urn:sha1:e2161bc38514722050b3a9c50a7897c40b6a93cf</id>
<content type='text'>
The `kdiff3 --auto` help message is, "No GUI if all conflicts are auto-
solvable."  This flag was carried over from the original mergetool
commands.  diff_cmd() is for two-way comparisons only so remove the
superfluous flag.

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/p4merge: create a base if none available</title>
<updated>2013-03-13T17:46:07Z</updated>
<author>
<name>Kevin Bracey</name>
<email>kevin@bracey.fi</email>
</author>
<published>2013-03-13T01:12:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4549162e8d623d69ea48745fce3709e5133ce043'/>
<id>urn:sha1:4549162e8d623d69ea48745fce3709e5133ce043</id>
<content type='text'>
Originally, with no base, Git gave P4Merge $LOCAL as a dummy base:

   p4merge "$LOCAL" "$LOCAL" "$REMOTE" "$MERGED"

Commit 0a0ec7bd changed this to:

   p4merge "empty file" "$LOCAL" "$REMOTE" "$MERGED"

to avoid the problem of being unable to save in some circumstances with
similar inputs.

Unfortunately this approach produces much worse results on differing
inputs. P4Merge really regards the blank file as the base, and once you
have just a couple of differences between the two branches you end up
with one a massive full-file conflict. The 3-way diff is not readable,
and you have to invoke "difftool MERGE_HEAD HEAD" manually to get a
useful view.

The original approach appears to have invoked special 2-way merge
behaviour in P4Merge that occurs only if the base filename is "" or
equal to the left input.  You get a good visual comparison, and it does
not auto-resolve differences. (Normally if one branch matched the base,
it would autoresolve to the other branch).

But there appears to be no way of getting this 2-way behaviour and being
able to reliably save. Having base==left appears to be triggering other
assumptions. There are tricks the user can use to force the save icon
on, but it's not intuitive.

So we now follow a suggestion given in the original patch's discussion:
generate a virtual base, consisting of the lines common to the two
branches. This is the same as the technique used in resolve and octopus
merges, so we relocate that code to a shared function.

Note that if there are no differences at the same location, this
technique can lead to automatic resolution without conflict, combining
everything from the 2 files.  As with the other merges using this
technique, we assume the user will inspect the result before saving.

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