Issue #1952 wontfix

why not have TortoiseMerge bundled with TortoiseHg installer?

JD Fagan
created an issue

I very much like TortoiseMerge as my diff tool but would prefer not to install TortoiseSVN just so that I can use TortoiseMerge with TortoiseHg. Is there anyway we can just embed TortoiseMerge with TortoiseHg much like how you embed PuTTy's Pageant.exe and TortoisePlink.exe tools?

Comments (16)

  1. Yuya Nishihara

    According to the following thread, TortoiseMerge doesn't support 3-way diff (and dirdiff?), so KDiff3 was picked as the default merge/diff tool.

    http://thread.gmane.org/gmane.comp.version-control.mercurial.tortoisehg.user/1836/focus=1879

    If you want to use TortoiseMerge without TortoiseSVN, you can download zip: http://sourceforge.net/projects/tortoisesvn/files/Tools/

    Also note that the latest version of TortoiseMerge won't be a stand-alone tool: https://groups.google.com/forum/#!topic/tortoisesvn/4aq1N9tZPYw

  2. adv_steve_w

    According to the following thread, TortoiseMerge doesn't support 3-way diff (and dirdiff?), so KDiff3 was picked as the default merge/diff tool.

    ... which is a poor reason to not select the best merge tool by default.

    who does 3 way diffs ?

    I've never needed to. In the event some folks need that, they can override the default & use kdiff3.

    please reconsider. tortoisemerge is way nicer.

  3. Yuya Nishihara

    to not select the best merge tool by default.

    There's no best merge tool for everyone. Somebody would say I want WinMerge, AraxisMerge, P4Merge, etc.

    In the event some folks need that, they can override the default & use kdiff3.

    Also you can override it to TortoiseMerge.

  4. adv_steve_w

    you can after figuring out obscure ini file syntax to do that. it's easy when you know how but easier to just select git instead & bypass the bs.

  5. adv_steve_w

    cool. might check that out when I get a minute. not spotting anyone saying kdiff3 is awesome and should be the default cause it's amazing.

    'cause it does 3 way diffs' and the rest don't seems to be the argument.

    now maybe I'm missing something & 3 way diffs are really useful in lots of situations but I don't think so. I think that's a niche requirement.

    select a good default. if there's a better default than tortoisemerge, go with that.

    but kdiff3. sorry. it's horid.

    thanks to all for your work on this by the way. very much appreciated.

  6. adv_steve_w

    its not "so difficult". I installed TortoiseGit because it includes TortoiseMerge.

    didn't spot TortoiseGitMerge (which is just TM afaik) in the dialog so had to figure out how to hack the ini file to pick it up. TM doesn't ship on its own as I understand it.

    likely there's an easier way of picking up TM ... like for example, shipping it as the default merge tool with TortoiseHG but I wouldn't know anything about that :)

  7. adv_steve_w

    right now, I have this which fixes it up :

    [extensions] hgext.extdiff =

    [extdiff] cmd.vdiff = "C:\Program Files\TortoiseGit\bin\TortoiseGitMerge.exe" CustomDiff = "C:\Program Files\TortoiseGit\bin\TortoiseGitMerge.exe"

    [merge-tools] filemerge.executable = "C:\Program Files\TortoiseGit\bin\TortoiseGitMerge.exe" filemerge.args = /base:$base /theirs:$other /mine:$local /merged:$output [tortoisehg] vdiff = CustomDiff

    so I'm sorted. I'm just saying maybe it would be better if everyone else (who prefers TM) didn't have to figure out how to do this.

  8. adv_steve_w

    welcome mate.

    It would be nice if there's a separate installer for TortoiseMerge.

    indeed but gotta go with what's out there unless you want to dive into another project.

    autodetect of TortoiseGitMerge would seem the obvious immediate enhancement.

    then sleep on whether you want to change the default merge/diff tool. if selecting the alternative is straightforward, that's probably sufficient to please most people.

  9. JD Fagan reporter

    Or just bundle both and have configurable which to use. I didn't need either TortoiseSvn nor TortoiseGit. Just another thought.

  10. Angel Ezquerra

    adv_steve_w I know a lot of people who do 3 way diffs and specially 3 way merges (me included!). I've found that being able to look at the base revision during merges is invaluable. You should check it out!

    KDiff3 is not perfect (far from it). It lacks some important features such as syntax highlighting, for example. As a pure diff tool it is just OK (even mediocre) but as a merge tool it is really quite good, possibly one of the best I've tried despite its shortcomings. For a VCS such as mercurial merging is much more important that diffing (IMHO) so I believe that bundling KDiff3 is a good decision.

    JD Fagan, we need to bundle at least one diff / merge tool, since a VCS without a good merge tool is not usable. Shipping more than one however does not make sense IMHO.

    Even if we were to change the diff / merge tool that we bundle with TortoiseHg I doubt TortoiseMerge would be the one we should choose. I have not used it much but I believe it does not even do syntax highlighting? There are several better open source tools out there, such as meld (which is my favorite open source diff tool) but IMHO none of them are as good as KDiff3 for merging. Even my favorite diff / merge tool, Araxis Merge (non free) is not as good as KDiff3 for merging, because it does not support 3 way merges.

    My current setup is to select Meld or Araxis Merge as my diff tool but KDiff3 as my merge tool. It works great.

  11. JD Fagan reporter

    Those that have used TortoiseSvn or TortoiseGit for years are used to TortoiseMerge and do love its capabilities (IMO). Moving to TortoiseHg, they expect to find the similar tool of TortoiseMerge. I'm just trying to help bridge the move to TortoiseHg for these populations. Seems to make sense to try to keep this tool in the installer to keep this tool across all 3 products which are all similarly named with "Tortoise" prefix (and I realize that they are all probably independent projects but I still think it would be nice to keep that illusion regardless)..

  12. Log in to comment