After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 738700 - Add "Patience Diff" diff
Add "Patience Diff" diff
Status: RESOLVED OBSOLETE
Product: meld
Classification: Other
Component: filediff
unspecified
Other All
: Normal enhancement
: ---
Assigned To: meld-maint
meld-maint
Depends on:
Blocks:
 
 
Reported: 2014-10-17 16:19 UTC by Konstantine Rybnikov
Modified: 2017-12-13 19:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Konstantine Rybnikov 2014-10-17 16:19:01 UTC
There's wonderful diff algorithms called Patience Diff [0], which is used, for example, by tool called patdiff [1]. It seems to be much more developer-friendly, so I'd like to propose to use that, either as an option or just as main algorithm (not sure what's best).

Thanks!

[0]: http://bramcohen.livejournal.com/73318.html?nojs=1
[1]: http://neocontra.blogspot.com/2013/02/public-service-announcement-patdiff-is.html
Comment 1 Konstantine Rybnikov 2014-10-17 16:20:42 UTC
Found a project actually doing that https://github.com/albfan/PatienceMeld (didn't try)
Comment 2 Konstantine Rybnikov 2014-10-17 16:29:10 UTC
That project (almost) works.
Comment 3 Kai Willadsen 2014-10-25 02:41:38 UTC
I don't have a strong opinion on whether patience or Myer's diff is better, but we implement Myer's at the moment in meld.matchers. I imagine that substituting patience diff in there would be totally reasonable.

I do have questions about how well patience diff works for inline highlighting. If it's not great, then we could always just use Myer's for inline highlighting even if we used patience for line-based comparisons.

One final thing would be that there's no way this should be a user-selectable, so we'd have to make a call about which was actually nicer.

(In reply to comment #1)
> Found a project actually doing that https://github.com/albfan/PatienceMeld
> (didn't try)

That project just imports patience diff from bzr, so we can't actually use that. We'd probably want to reimplement it ourselves. On the upside, it's a relatively straight-forward algorithm.

Anyway, I'm unlikely to get around to this, but if someone else is interested then it would make a cool project.
Comment 4 GNOME Infrastructure Team 2017-12-13 19:09:10 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/meld/issues/77.