Git Product home page Git Product logo

meld's Introduction

About 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 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.

Requirements

  • 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
  • Pango
  • PangoCairo
  • GTK+ 3.20
  • GtkSourceView 4.0

Build requirements

  • Python 3.6
  • Meson 0.48
  • Ninja
  • gettext
  • GLib 2.36 and its development utilities such as glib-compile-schemas

For Windows build requirements, see mingw-common section .gitlab-ci.yml

Running

You do not need to build Meld in order to run it. Meld can be run directly from this source directory by running:

$ bin/meld

Unix users should get Meld from their distribution package manager, or from Flathub.

Windows users should download the provided MSIs on the Meld home page.

OSX users can install Meld using Homebrew (or Macports, Fink, etc.), or there are unofficial native builds available from the Meld for OSX project.

Building

Meld uses meson build system. Use the following commands to build Meld from the source directory:

$ meson _build
$ cd _build
$ ninja

You can then install Meld system-wide by running:

$ ninja install

A Windows installer can be built with command

C:\Python34\python.exe setup_win32.py bdist_msi

which will create the file dist/Meld-VERSION-ARCH.msi.

Developing

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.

Contributing

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

Support forum: https://discourse.gnome.org/tag/meld

Links

Home page: http://meldmerge.org

Documentation: http://meldmerge.org/help

Wiki: https://wiki.gnome.org/Apps/Meld

meld's People

Contributors

alan01 avatar annoab avatar atriwidada avatar claudep avatar dmustieles avatar emintufan avatar frandieguez avatar haaninjo avatar hellyguo avatar hugosenari avatar inigomartinez avatar jackrvan avatar jordimas avatar kaiw avatar kelemeng avatar mariobl avatar marv-cz avatar milocasagrande avatar mirosnik1 avatar mtrmac avatar piotrdrag avatar pmkovar avatar rffontenelle avatar sicklylife-jp avatar takeshi-aihana avatar urbalazs avatar vincele avatar yousseb avatar yurchor avatar zppp1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meld's Issues

unknown keys defined in configuration file: nogtkdoc

Hi Youssef

I have finished install jhbuild and link the .jhbuildrc-custom

when i run jhbuild -m osx/meld.modules build python-withxml2
I got this error

I: unknown keys defined in configuration file: nogtkdoc
jhbuild build: A module called ''python-withxml2'' could not be found.
Usage: jhbuild [ -f config ] command [ options ... ]

Feature request: Synonyms or learn word.

I think it would be nice to have the ability to tell meld some 'synonyms",
Sometimes yo have two big paragraphs that differ in a word or simple expression substituted several times. We could select that word and force meld to ignore it or use it as a synonym in the whole document.

Fix .gitconfig for git difftool --dir to work

At least in my case, for git difftool --dir to work properly, I had to change the cmd in .gitconfig as follows (that is, I had to remove $PWD/ before $REMOTE):

[difftool "meld"]
  trustExitCode = true
  cmd = open -W -a Meld --args \"$LOCAL\" \"$REMOTE\"

Then, it is possible to do git difftool --dir master. Unfortunately, this breaks the case where --dir is not used, i.e., with this change, git difftool master -- README.md will not work anymore.

A fix (or at least a warning in the documentation that you have in your excellent web site) would be very welcome. Possibly with a wrapper script, if it can't be done otherwise.

macOS X "Meld" wrapper script does not accept "--output <filename>"

meld itself uses optparse and accepts both --output=<filename> and --output <filename>.

The Meld wrapper script only accepts the former. It should accept the latter form as well.

This issue was originally reported to the Git project[1].

Git may work around the issue in a future version[2], but all Git versions going back to v1.7.7 use --output <filename>, so there's still probably a fair amount of users that would benefit from a fix.

[1] https://public-inbox.org/git/[email protected]/
[2] https://public-inbox.org/git/[email protected]/

Step-by-step install instructions for dummies, at UBUNTU 16 LTS

Hi, there are some simple and direct instruction like apt install ./meld.deb or an step-by-step sequence of simple and reliable instructions?


The "for UBUNTU" instructions have no git clone instruction, the README is not complete... And the command not work:

sudo python3 setup.py install --prefix=/usr
running install
running build
running build_py
copying meld/conf.py-installed -> build/lib/meld/conf.py
running build_scripts
running build_i18n
intltool-update -p -g meld
unable to execute 'intltool-update': No such file or directory
error: command 'intltool-update' failed with exit status 1

The "apt install" is ugly from 2014 when we have 2017's versions!
But, try to install and update,

  1. sudo apt install meld ok, fine and meld is working as 3.14.2.
  2. cd sandbox and git clone git clone https://github.com/GNOME/meld.git
  3. cd meld and sudo python3 setup.py install --prefix=/usr

The last step produced same expected error,

running install
running build
running build_py
copying meld/conf.py-installed -> build/lib/meld/conf.py
running build_scripts
running build_i18n
intltool-update -p -g meld
unable to execute 'intltool-update': No such file or directory
error: command 'intltool-update' failed with exit status 1

Try also pip pip install meld --upgrade, but not detected that have 2017's new version,
"Requirement already up-to-date: meld in /usr/lib/python2.7/dist-packages"

Website .gitconfig info has minor typo

On the page: https://yousseb.github.io/meld/, there are instructions on what to add to .gitconfig to use meld. There's a minor error. The line:

cmd = open -W -a Meld --args --auto-merge \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\" --output \"$PWD/$MERGED\"

There should be an equals sign for the --output option, that is:

cmd = open -W -a Meld --args --auto-merge \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\" --output=\"$PWD/$MERGED\"

clearlooks has a hardcoded path

Version osx-6
When I start it from the command line I get

/Applications/Meld.app/Contents/Resources/meld:180: GtkWarning: dlopen(/Applications/Meld.app/Contents/Resources/lib/gtk-2.0/2.10.0/engines/libclearlooks.so, 1): Library not loaded: /Users/yousseb/gtk/inst/lib/libgtk-quartz-2.0.0.dylib

I have that library installed, just not on that path of course.

Symbol not found: _inflateValidate on macOS High Sierra

$ /Applications/Meld.app/Contents/MacOS/Meld
frozen: ImportError
Cannot import: GTK+
dlopen(/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/_gi.so, 2): Symbol not found: _inflateValidate
  Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
  Expected in: /Applications/Meld.app/Contents/Frameworks/libz.1.dylib
 in /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib

Workaround:

mv /Applications/Meld.app/Contents/Frameworks/libz.1.dylib /Applications/Meld.app/Contents/Frameworks/libz.1.dylib0

$PWD in your instructions made it not work with --dir-diff…?

Thank you so much for this tool!

Had some problem with your instructions though: So I just

brew cask install meld

added:

[diff]
  tool = meld
[difftool "meld"]
  trustExitCode = true
  cmd = open -W -a Meld --args \"$LOCAL\" \"$REMOTE\"

and

git difftool --dir-diff master
then I get nothing in the right hand side:

image

Just taking away $PWD makes it work as excpected. I'm curious though as to why you added that working dir?

Saves in temporary folder

Using Meld 3.16.0 on MacOS 10.10.5 and modifying the .gitconfig as suggested in Issue #21, I can now diff! Thanks!

However, I cannot save. When I run 'git difftool -d' both the left (repo) and right (local) are loaded from the temporary files in /var/... When I save the local side, it tries to save in the temporary location.

Gives error: python2: No such file or directory

When I run Meld from Finder it works fine, but when I run it from the command line:

$ /Applications/Programming/Meld.app/Contents/Resources/meld
env: python2: No such file or directory

Do I need to install Python 2? Consider updating the documentation to say so. Thanks.

This is on macOS 10.12.4

Add 4th argument support for 4-way git merge

According to this comment here
http://blog.wuwon.id.au/2010/09/painless-merge-conflict-resolution-in.html

Meld has hidden 3-way merge feature activated by passing the 4th parameter: 
[merge] tool = mymeld 
conflictstyle = diff3 
[mergetool "mymeld"] cmd = meld $LOCAL $BASE $REMOTE $MERGED 

You can use $MERGED state where git was able to merge and use last common base where auto merge was not able to merge.
That way manual merge is much more easier.

Is 4th argument not available under mac only or is it not working on original meld as well?

Jumping to beginning and end of lines - Home and end keys

Hi,

Is there anyway to get home and end keys working? I've tried the normal keys:

Jump to beginning of a line – Command+Left Arrow.
Jump to end of a line – Command+Right Arrow.

And they do not seem to work either.

Thanks.

/Users/yousseb/ hardcoded?

I downloaded the "latest dmg" from here: https://yousseb.github.io/meld/ , then ran the following:

~$ /Applications/Meld.app/Contents/MacOS/Meld-bin --version

** (process:49122): WARNING **: Failed to load shared library '/Users/yousseb/gtk/inst/lib/libglib-2.0.0.dylib' referenced by the typelib: dlopen(/Users/yousseb/gtk/inst/lib/libglib-2.0.0.dylib, 9): image not found

** (process:49122): WARNING **: Failed to load shared library '/Users/yousseb/gtk/inst/lib/libgobject-2.0.0.dylib' referenced by the typelib: dlopen(/Users/yousseb/gtk/inst/lib/libgobject-2.0.0.dylib, 9): image not found
Traceback (most recent call last):
  File "/Applications/Meld.app/Contents/Resources/__boot__.py", line 316, in <module>
    _run()
  File "/Applications/Meld.app/Contents/Resources/__boot__.py", line 311, in _run
    exec(compile(source, path, 'exec'), globals(), globals())
  File "/Applications/Meld.app/Contents/Resources/meld", line 263, in <module>
    check_requirements()
  File "/Applications/Meld.app/Contents/Resources/meld", line 166, in check_requirements
    from gi.repository import Gtk
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/importer.py", line 159, in load_module
    dynamic_module = load_overrides(introspection_module)
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/__init__.py", line 111, in load_overrides
    override_mod = importlib.import_module('gi.overrides.' + namespace)
  File "importlib/__init__.pyc", line 37, in import_module
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/Gtk.py", line 26, in <module>
    from gi.repository import GObject
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/importer.py", line 159, in load_module
    dynamic_module = load_overrides(introspection_module)
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/__init__.py", line 111, in load_overrides
    override_mod = importlib.import_module('gi.overrides.' + namespace)
  File "importlib/__init__.pyc", line 37, in import_module
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/GObject.py", line 31, in <module>
    from gi.repository import GLib
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/importer.py", line 159, in load_module
    dynamic_module = load_overrides(introspection_module)
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/__init__.py", line 111, in load_overrides
    override_mod = importlib.import_module('gi.overrides.' + namespace)
  File "importlib/__init__.pyc", line 37, in import_module
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/GLib.py", line 36, in <module>
    from gi import _option as option
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/_option.py", line 47, in <module>
    OPTION_CONTEXT_ERROR_QUARK = GLib.quark_to_string(GLib.option_error_quark())
gi._error.GError: g-invoke-error-quark: Could not locate g_option_error_quark: dlopen(/Users/yousseb/gtk/inst/lib/libgobject-2.0.0.dylib, 9): image not found (1)
2017-08-23 11:21:34.936 Meld-bin[49122:2826146] Meld Error
~$ 

Why is the /Users/yousseb/ directory appearing in the output?

meld for merging too

Hi there

First - thanks for providing this package of meld for OSX - I use it all the time.

On the new website (https://yousseb.github.io/meld/) you've given details of how to set up meld as a git difftool. Just thought you might want to add details for using it as a merge tool aswell - seeing as it's really good at it!

[mergetool “meld”]
    cmd = open -W -a Meld –args –auto-merge $PWD/$LOCAL $PWD/$BASE $PWD/$REMOTE –output $PWD/$MERGED

Unable to open Meld on macOS High Sierra

Unable to open Meld on macOS High Sierra
Tried to open from Terminal
Gives an error

open -a meld
LSOpenURLsWithRole() failed for the application /Applications/Meld.app with error -10810.

Failed to load shared library '/Users/yousseb/gtk/inst/lib/libglib-2.0.0.dylib' (Meld-bin)

When running Meld-bin I get this error: Related to #4

I know now I need to run /Meld, but it doesn't sit right with me that this path is hardcoded somewhere so adding a bug for it.

❯ /Applications/Meld.app/Contents/MacOS/Meld-bin

** (process:32274): WARNING **: Failed to load shared library '/Users/yousseb/gtk/inst/lib/libglib-2.0.0.dylib' referenced by the typelib: dlopen(/Users/yousseb/gtk/inst/lib/libglib-2.0.0.dylib, 9): image not found

** (process:32274): WARNING **: Failed to load shared library '/Users/yousseb/gtk/inst/lib/libgobject-2.0.0.dylib' referenced by the typelib: dlopen(/Users/yousseb/gtk/inst/lib/libgobject-2.0.0.dylib, 9): image not found
Traceback (most recent call last):
  File "/Applications/Meld.app/Contents/Resources/__boot__.py", line 316, in <module>
    _run()
  File "/Applications/Meld.app/Contents/Resources/__boot__.py", line 311, in _run
    exec(compile(source, path, 'exec'), globals(), globals())
  File "/Applications/Meld.app/Contents/Resources/meld", line 263, in <module>
    check_requirements()
  File "/Applications/Meld.app/Contents/Resources/meld", line 166, in check_requirements
    from gi.repository import Gtk
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/importer.py", line 159, in load_module
    dynamic_module = load_overrides(introspection_module)
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/__init__.py", line 111, in load_overrides
    override_mod = importlib.import_module('gi.overrides.' + namespace)
  File "importlib/__init__.pyc", line 37, in import_module
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/Gtk.py", line 26, in <module>
    from gi.repository import GObject
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/importer.py", line 159, in load_module
    dynamic_module = load_overrides(introspection_module)
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/__init__.py", line 111, in load_overrides
    override_mod = importlib.import_module('gi.overrides.' + namespace)
  File "importlib/__init__.pyc", line 37, in import_module
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/GObject.py", line 31, in <module>
    from gi.repository import GLib
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/importer.py", line 159, in load_module
    dynamic_module = load_overrides(introspection_module)
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/__init__.py", line 111, in load_overrides
    override_mod = importlib.import_module('gi.overrides.' + namespace)
  File "importlib/__init__.pyc", line 37, in import_module
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/overrides/GLib.py", line 36, in <module>
    from gi import _option as option
  File "/Applications/Meld.app/Contents/Resources/lib/python2.7/gi/_option.py", line 47, in <module>
    OPTION_CONTEXT_ERROR_QUARK = GLib.quark_to_string(GLib.option_error_quark())
gi._error.GError: g-invoke-error-quark: Could not locate g_option_error_quark: dlopen(/Users/yousseb/gtk/inst/lib/libgobject-2.0.0.dylib, 9): image not found (1)
2016-12-03 13:34:11.736 Meld-bin[32274:3611798] Meld Error

Fussy pixel comments

I really like Meld - thanks for creating an OSX version. Using Meld 3.15.2 - I have a couple fussy comments about pixels. See the screencast at http://richb-hanover.com/wp-content/uploads/2016/02/MeldScreenSnapz001.ogg for details.

  1. The Close button on the About... box appears to be a pixel too low, so that it gets trimmed off.
  2. The text at the top and left edge is a tiny bit too close to the window box. It feels cramped. This is especially so when dragging toward the top-left. The grey highlighting that shows you're at top-left touches the text, as shown later in the video.

Proposed solution: move the text in the left-hand pane a couple pixels down/right to give it a bit more breathing room. Thanks again!

dmg does not include darcs support

Darcs support was reintroduced in meld 3.15.2 and darcs.py it's present on this repository .. but the dmg does not include it .. under /Applications/Meld.app/Contents/Resources/lib/python2.7/site-packages.zip there is no meld/vs/darcs.py

.gitconfig on github page

Hi, minor thing I noticed setting up Meld for OS X:

There's a sample .gitconfig on the github page which is handy, but I'm curious why it uses $PWD/$REMOTE instead of just $REMOTE (and similar in the mergetool section). The former doesn't work for me but the latter does.

Here's the full line that works for me under [difftool "meld"]:
cmd = open -W -a Meld --args \"$LOCAL\" \"$REMOTE\"

El capitan console tool not installed

Neither can I do it manually...


sudo ln -s /Applications/Meld.app/Contents/MacOS/Meld /usr/bin/meld
ln: /usr/bin/meld: Operation not permitted
sudo ln -s /Applications/Meld.app/Contents/MacOS/Meld /bin/meld
ln: /bin/meld: Operation not permitted

(Fussy) Scroll bar problem on short files

Using Meld 3.15.2 on OSX 10.10.5. The vertical scroll bars are always displayed, even when the file is short enough to appear entirely in the window. The video at http://richb-hanover.com/wp-content/uploads/2016/02/MeldScreenSnapz002.ogg shows the problem.

If you make the window short, the scroll bar acts as desired (see 0:15 in the video).

If you make the window tall enough, the scroll bar remains. (0:24) As confirmation, you can't drag the scroll bar to reveal more of the file (0:25-0:26).

Not a catastrophe, and I wonder if this is a Meld problem, not a problem from the OSX port... Thanks again for this great tool!

Can't change font

Meld build 3.16.0 r1 (osx-9) + macOS Sierra 10.12.4

I just installed Meld by moving the .App in my /Applications folder.

Now when I run it and try to change the editor font, it seems to always fail and fallback to a non-monospaced font. The result is hard to read. (see attached capture)
meld

If I start Meld from a terminal (cd cd /Applications/Meld.app/Contents/MacOS/; Meld), I can see the following message in the console, when the editor is opened: (meld:7990): Pango-WARNING **: couldn't load font "Courier New Bold Condensed Not-Rotated 14", modified variant/weight/stretch as fallback, expect ugly output.
This not quite right since I chose Courier New Regular from the Preferences Window.

This fails for any font.

Using the default font is working fine.

Continuation of support?

1st, thanks for the effort in bringing a great linux tool across to the Mac.
OSX has moved on significantly since the last release, and there are various issues that could be resolved. Is this project still alive? Last commit is over a year ago.

--help doesn't work from command line

Not a huge issue at all, just something I noticed. When running meld --help I get

Traceback (most recent call last):
  File "meld/meldapp.pyc", line 78, in do_command_line
  File "meld/meldapp.pyc", line 336, in parse_args
  File "meld/meldapp.pyc", line 155, in open_files
  File "meld/meldwindow.pyc", line 795, in open_paths
  File "meld/meldwindow.pyc", line 754, in append_vcview
  File "meld/vcview.pyc", line 298, in set_location
  File "meld/vcview.pyc", line 256, in populate_vcs_for_location
  File "meld/vc/git.pyc", line 275, in valid_repo
  File "meld/vc/_vc.pyc", line 377, in call
  File "subprocess.pyc", line 522, in call
  File "subprocess.pyc", line 710, in __init__
  File "subprocess.pyc", line 1335, in _execute_child
OSError: [Errno 2] No such file or directory: '/Volumes/<my_current_dir>/--help'

Feature request: Same block repeated several times ans similar blocks

Another interesting addition would be the ability to recognize the same block repeated several times around the text.
And the ability to detect not only vertical movement of whole blocks of text but also horizontal movement or similar blocks. (like with image comparison software, specifying percentage of similarity).

Meld binary should be signed; is currently not

The latest binary throws a security warning on OS X 10.11.5 (El Capitan).

“Meld” can’t be opened because it is from an unidentified developer.

screen shot 2016-06-20 at 1 37 40 pm

It works if you reduce security in Security system preferences to "Allow apps downloaded from" => "Anywhere" but that obviously compromises the rest of the system's signed code security features.

screen shot 2016-06-20 at 1 41 16 pm

Resize window does not work on Yosemite.

I just installed the latest download 3.16.0 (r1).

It definitely works better than the one I installed last year (which didn't successfully open a window.)

However the default window size is kind of small, and resizing does not work.

Work-around: Maximize does work, so I can get a usefully large window.

Can't compare against hg repository

I'm not entirely sure if this is a bug or a misconfiguration on my part; Google wasn't helpful in resolving the issue.

Release OSX - 3.16.0 (r1) doesn't seem to support comparing a working copy against a mercurial repository. (To be clear, as I'm still somewhat new to distributed version control and thus may have the terminology wrong: I'm trying to compare the files in my working copy against the most recent revision in my local clone of the repository, not against a remote repository.)

If I start the application by opening Meld from the finder and select "version control view," then enter the path to a file, Meld indicates that the file is identical to the VC copy -- despite the fact that hg stat indicates that the file has changed, and hg diff shows (non-whitespace) changes. Same story if I enter the path to a directory which contains the modified file, except I have to explicitly select the directory and hit "Compare" in order to get it to tell me that the trees are identical. I also get the same results if I type Meld path/to/working/copy at the shell (file or directory). I've disabled all file and text filters.

It's entirely possible that Meld just can't find the hg "binary," because I've installed mercurial through MacPorts, so it's in /opt/local/bin/hg, not /usr/bin. I'd expect that starting meld from the bash prompt would pick up my shell's PATH, though, and /opt/local/bin is certainly in PATH. I don't know how to set PATH for instances of Meld started through the Finder, but I can live with only being able to start it from the shell.

As a note, I've also got meld (1.8.6) installed via MacPorts, and that compares against Hg repositories just fine. (I'm actually trying to replace the MacPorts installation of Meld, because it pulls in a huge pile of dependencies that I don't need for anything else.)

Provide System Service with meld

Hi,

This is not really and "Issue" but is not a "Pull request" either. I've made a simple system service with Automator (very very simple really) which allows to select two or more files/folders in the Finder and Right click > Services > Diff Selected Items and open Meld with those files. A Keyboard shortcut can be associated with this too (via the system keyboard preferences).

I wonder whether this could get integrated within the app. Apparently the app itself can advertise a System Service by adding stuff ot Info.plist but I am not sure how that applies to pre-made services like that.

Anyhow, I attach the .workflow here, just in case.

Diff Selected Items.workflow.zip

Resource File Open

Hi, whenever I click Blank file comparison, it opens a resource file on both tabs. I am attaching the screenshot
screen shot 2017-12-18 at 15 45 23

Please help improve the performance on doing the comparing

Hi yousseb,
Thanks for your great job. And I can enjoy the native meld on macOS, especially for the retina support(its really awesome).

On using the meld on Mac, i just met two issues related to performance:

  1. A little bit slow to compare two files: 1500 line each file, 5 lines diff, cost about 1s to finish the comparing.
  2. It's not so smooth to scroll up / down the document.

Here is my working environment:
1. Device : Mac book pro

  • macOS Sierra 10.12.3
  • MacBook Pro (Retina, 13-inch, Early 2015)
  • 2.9 GHz Intel Core i5
  • 8 GB 1867 MHz DDR3

2. Python 2.7.12
3. Meld 3.16.0

Thanks again for your contribution.
Neo Yang

meld 'Bad Install' = 3.15 fails on Linux Mint 18

I have just used apt-get to install the latest available meld version on LinuxMint 18 with Cinnamon desktop.

In the Gui, when I select two files to compare the window just sits there. Nothing happens. So I ran meld from the command line and it gives me some warnings and an error, summarising:

  • "bad install"

One thing that also puzzles me is that the apt-get shows the .deb package installing as:

  • Unpacking meld (3.14.2-1) ...

While the meld --version and the meld GUI report version as:

  • `3.15.1'

Which one is the true one?

To me that example refutes the report of a "bad install". In addition the mismatch of GTK versions sounds suspicious too. Is there an alternatives repository so I can find a later and function version?

---- compare command ----

$ echo "one" > one
$ echo "two" > two
$ meld ./one ./two 
/usr/local/bin/meld:161: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gtk
/usr/local/bin/meld:175: PyGIWarning: GtkSource was imported without specifying a version first. Use gi.require_version('GtkSource', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import GtkSource
Couldn't find colour scheme details for meld:current-line-highlight-background; this is a bad install

---- version ----

$ meld --version
/usr/local/bin/meld:161: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gtk
/usr/local/bin/meld:175: PyGIWarning: GtkSource was imported without specifying a version first. Use gi.require_version('GtkSource', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import GtkSource
meld 3.15.1

---- installation ----

$ sudo apt-get install meld
Preparing to unpack .../archives/meld_3.14.2-1_all.deb ...
Unpacking meld (3.14.2-1) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for libglib2.0-0:i386 (2.48.2-0ubuntu1) ...
Processing triggers for libglib2.0-0:amd64 (2.48.2-0ubuntu1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Setting up meld (3.14.2-1) ...

OS X Release of Meld 3.16.3

A new OS X release of the latest stable sources (3.16.3) would be nice.

An autobuilder would be really nice :)

Change direction of line by holding shift

Hi, I've noticed that the feature where you hold down the shift button to reverse the direction of the merge being made isn't work. This is problematic because I can't neither reverse or edit the line inline.

Is there a way to fix this?

skarmavbild 2016-10-03 kl 14 39 57

Warnings thrown when starting from command line

Just running from the command line throws a bunch of warnings.

aflat$ /Applications/Meld.app/Contents/MacOS/Meld

/Applications/Meld.app/Contents/Resources/lib:/Applications/Meld.app/Contents/Frameworks
Couldn't bind the translation domain. Some translations won't work.
'module' object has no attribute 'bind_textdomain_codeset'
/Applications/Meld.app/Contents/Resources/lib/python2.7/site-packages.zip/meld/meldwindow.py:193: Warning: The property GtkSettings:gtk-menu-images is deprecated and shouldn't be used anymore. It will be removed in a future version.
/Applications/Meld.app/Contents/Resources/lib/python2.7/site-packages.zip/meld/ui/gnomeglade.py:45: Warning: The property GtkAlignment:yalign is deprecated and shouldn't be used anymore. It will be removed in a future version.
/Applications/Meld.app/Contents/Resources/lib/python2.7/site-packages.zip/meld/ui/gnomeglade.py:45: Warning: The property GtkAlignment:xscale is deprecated and shouldn't be used anymore. It will be removed in a future version.
/Applications/Meld.app/Contents/Resources/lib/python2.7/site-packages.zip/meld/ui/gnomeglade.py:45: Warning: The property GtkAlignment:yscale is deprecated and shouldn't be used anymore. It will be removed in a future version.
/Applications/Meld.app/Contents/Resources/lib/python2.7/site-packages.zip/meld/ui/gnomeglade.py:45: Warning: The property GtkAlignment:left-padding is deprecated and shouldn't be used anymore. It will be removed in a future version.
/Applications/Meld.app/Contents/Resources/lib/python2.7/site-packages.zip/meld/ui/gnomeglade.py:45: Warning: The property GtkImage:stock is deprecated and shouldn't be used anymore. It will be removed in a future version.
/Applications/Meld.app/Contents/Resources/lib/python2.7/site-packages.zip/meld/ui/gnomeglade.py:45: Warning: The property GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be removed in a future version.
/Applications/Meld.app/Contents/Resources/lib/python2.7/site-packages.zip/meld/ui/gnomeglade.py:45: Warning: The property GtkSettings:gtk-button-images is deprecated and shouldn't be used anymore. It will be removed in a future version.

(meld:93897): Gtk-WARNING **: Could not find the icon 'process-working-symbolic'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
http://icon-theme.freedesktop.org/releases

How to use GTK2 instead of GTK3?

I've been using this fork of Meld for OSX for months but I recently had to reinstall it and it's now using GTK3 instead of GTK2 which is causing some graphical issues. Is there any way for me to run this as a GTK2 application instead?

Edit: I found my original dmg which is for Meld 1.8.6 and it's back to gtk2.

Remember last opened screen

I'm using Meld 3.16.0 on OSX 10.12.2 with two screens. Each time I start meld it opens on my laptop screen, rather than my main monitor. I'm using meld as my chosen diff tool for git, so launch it many times everyday and drag it over to my main monitor. It would be awesome if it could remember the last monitor it was on, and ideally the position and size I had it in as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.