Meld for OSX

This is a fork of Meld packaged and bundled for OSX. The original website for Meld is here https://meld.app. Minor work has been done to also integrate OSX menu and shortcuts, but the app is truly the original, excellent Meld.

:dvd: Download OSX dmg file

You may download any of the following versions. The 3.21.0 (r2) is the latest and the recommended version at this point.

:bulb:Tip: A lot of people are asking how to use this package as a git difftool/mergetool. Once installed, edit your ~/.gitconfig and add the following lines

[diff]
  tool = meld
[difftool]
  prompt = false
[difftool "meld"]
  trustExitCode = true
  cmd = open -W -a Meld --args \"$LOCAL\" \"$REMOTE\"
[merge]
  tool = meld
[mergetool]
  prompt = false
[mergetool "meld"]
  trustExitCode = true
  cmd = open -W -a Meld --args --auto-merge \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output=\"$MERGED\"

:bulb:Tip: In order to open diff from command line/terminal, once installed, edit your ~/.zshrc or ~/.bash_profileand add the following lines


    alias meld="open -W -a Meld $@"
  
You can use it like this: meld file1 file2 or meld folder1 folder2

:bulb:Tip: Meld OSX also understands/checks for the following environment variables.

G_ENABLE_DIAGNOSTIC 0 or 1
GTK_THEME Adwaita or Adwaita:dark

The theme change can be done by changing the variable in the wrapper script

sudo nano /Applications/Meld.app/Contents/MacOS/Meld

find the part that says

environment = dict(os.environ, **{
    "DYLD_LIBRARY_PATH": ":".join([
        os.path.join(APPPATH, "Resources", "lib"),
        os.path.join(APPPATH, "Frameworks")
    ]),
    "LANG": LANG,
    "LC_ALL": LANG,
    "LC_CTYPE": LANG
})

and change it to

environment = dict(os.environ, **{
    "DYLD_LIBRARY_PATH": ":".join([
        os.path.join(APPPATH, "Resources", "lib"),
        os.path.join(APPPATH, "Frameworks")
    ]),
    "LANG": LANG,
    "LC_ALL": LANG,
    "LC_CTYPE": LANG,
    "GTK_THEME":"Adwaita:dark"
})

and you'll have a fully dark meld..

Why Meld for Mac/OSX and not Macports/Homebrew

Top reasons behind using this fork over Macports or Homebrew builds:

Screenshot

screen shot 2014-12-30 at 11 59 11 am

Special Thanks

TODO

Suggestions / Issues

If you have a suggestion or you are facing an issue running this Meld fork, please open an issue here https://github.com/yousseb/meld/issues. Please note that your issue has to be specific to the OSX fork and not to Meld itself. I have no plans/time to work on Meld itself.

Contribute to Meld for OSX

  1. Head to https://github.com/yousseb/meld
  2. Fork the repository and clone your fork locally.
  3. Follow the build instructions in https://github.com/yousseb/meld/blob/master/osx/README.md to generate your own dmg.
  4. Do your magic, commit and push to your fork.
  5. Create a pull request.

Not Accepting Donations

I'm not currently accepting donations for the development of this fork. I just missed a proper implementation of Meld on Mac so I thought of creating this fork. If you want to donate, please donate to the original Meld project.


The following is copied from the original Meld page https://meld.app/. Please visit the original project website for more info. For the full help manual, please visit https://meld.app/help/.

What is Meld?

Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects. It provides two- and three-way comparison of both files and directories, and has support for many popular version control systems.

Meld helps you review code changes and understand patches. It might even help you to figure out what is going on in that merge you keep avoiding.

Features

Meld is licensed under the GPL v2, except as noted

In depth features

File comparison

Directory comparison

Version control

Merge mode (in development)