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 supports many version control systems including Git, Mercurial, Bazaar, CVS and Subversion.
Meld helps you review code changes, understand patches, and makes enormous merge conflicts slightly less painful.
Meld is licensed under the GPL v2 or later.
- Python 3.6
- pycairo (Python3 bindings for cairo without GObject layer)
- PyGObject 3.30 (Python3 bindings for GObject introspection)
- gsettings-desktop-schemas
And following packages with GObject introspection:
- GLib 2.36 (meld install also needs GLib binaries like glib-compile-schemas)
- Pango
- PangoCairo
- GTK+ 3.20
- GtkSourceView 4.0
System packages:
- intltool
- itstool
- xmllint
Python packages:
- distro
Building Windows MSIs requires:
- cx_Freeze 5
- pywin32/pypiwin32 (optional, for storing version info in Meld.exe)
Meld can be run directly from this source tree directory. Just type:
bin/meld
Alternatively, you can install Meld system-wide by running:
python3 setup.py install
or if you're on Ubuntu, instead try:
python3 setup.py install --prefix=/usr
...but you should probably just get a RPM/deb/installer instead, depending on your system. Meld packages are available for just about every *nix distribution.
For Windows users, MSIs are available from the Meld home page. Also if all dependencies are installed manually, running from source tree is supported:
python3.exe bin/meld
For OSX users, Meld can be installed on OSX using MacPorts/Fink/etc. There are also unofficial native builds available for older releases. See the wiki for details.
Meld uses standard distutils for building. It supports anything that distutils supports, and little else.
Additional hacks are added to make life easier for packagers where required, such as:
- Passing
--no-update-icon-cache
will stop Meld from runninggtk-update-icon-cache
post-install - Passing
--no-compile-schemas
will stop Meld from trying to compile gsettings schemas post-install
These arguments need to be passed to setup.py
itself, not to the install
command. In other words, do this:
python3 setup.py --no-compile-schemas install
not this:
python3 setup.py install --no-compile-schemas
Windows installer can be built with command
C:\Python34\python.exe setup_win32.py bdist_msi
that creates file dist/Meld-VERSION-ARCH.msi
It's easy to get started developing Meld. From a git checkout, just run
bin/meld
.
We also support development using Flatpak via GNOME Builder. At the Builder "Clone..." dialog, enter https://gitlab.gnome.org/GNOME/meld.git, and the default build + run development flow using Flatpak should work.
Meld uses GNOME's GitLab to track bugs, and user questions and development discussions happen on the Meld mailing list. The development team is small, and new contributors are always welcome!
List of issues: https://gitlab.gnome.org/GNOME/meld/issues
Mailing list: https://mail.gnome.org/mailman/listinfo/meld-list
Home page: http://meldmerge.org
Documentation: http://meldmerge.org/help