www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - File compare/merge

reply Walter Bright <newshound2 digitalmars.com> writes:
Life has gotten a lot easier for me trying to manage multiple branches of D 
since I've been using file compare/merge tools.

I use winmerge for Windows, and meld for Linux. They are both free, and work
great.

What do you use?
Apr 01 2013
next sibling parent "Brad Anderson" <eco gnuk.net> writes:
On Monday, 1 April 2013 at 19:53:23 UTC, Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple 
 branches of D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both 
 free, and work great.

 What do you use?

I just use WinMerge when necessary but I mostly use `git diff` day to day.
Apr 01 2013
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 4/1/13 3:53 PM, Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple branches
 of D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both free, and
 work great.

 What do you use?

It's a good discussion. Love meld but OSX installation is tenuous so I gave up on it. This morning I installed Octosplit (http://goo.gl/sgNWw) on Chrome this morning, it took seconds and it made diff viewing a lot better. Andrei
Apr 01 2013
next sibling parent =?UTF-8?B?Ikx1w61z?= Marques" <luismarques gmail.com> writes:
Also for OS X: http://www.kaleidoscopeapp.com/
Apr 01 2013
prev sibling next sibling parent Martin Nowak <code dawg.eu> writes:
On 04/01/2013 10:18 PM, Andrei Alexandrescu wrote:
 This morning I installed Octosplit (http://goo.gl/sgNWw) on Chrome this
 morning

Really great unless I have to scroll horizontally but this will hopefully improve.
Apr 02 2013
prev sibling parent "John Colvin" <john.loughran.colvin gmail.com> writes:
On Monday, 1 April 2013 at 20:18:36 UTC, Andrei Alexandrescu 
wrote:
 On 4/1/13 3:53 PM, Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple 
 branches
 of D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both 
 free, and
 work great.

 What do you use?

It's a good discussion. Love meld but OSX installation is tenuous so I gave up on it. This morning I installed Octosplit (http://goo.gl/sgNWw) on Chrome this morning, it took seconds and it made diff viewing a lot better. Andrei

Just started using Octosplit and I have to say it's really nice. It is a little slow though on really big diffs, I tested it on a recent pull of mine to druntime (>2500 lines changed) it takes a few seconds for the tick box to appear, then the page hangs for a few more seconds once I click it. Stil, hardly long to wait in the general scheme of things, especially compared to opening some applications.
Apr 04 2013
prev sibling next sibling parent "Jesse Phillips" <Jessekphillips+D gmail.com> writes:
On Monday, 1 April 2013 at 19:53:23 UTC, Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple 
 branches of D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both 
 free, and work great.

 What do you use?

I use fugitive for Vim. https://github.com/tpope/vim-fugitive But I haven't learned much of it and probably could benefit from meld (I've never used).
Apr 01 2013
prev sibling next sibling parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Mon, 01 Apr 2013 12:53:23 -0700
Walter Bright <newshound2 digitalmars.com> wrote:

 Life has gotten a lot easier for me trying to manage multiple
 branches of D since I've been using file compare/merge tools.
 
 I use winmerge for Windows, and meld for Linux. They are both free,
 and work great.
 
 What do you use?

I've been using Beyond Compare <http://www.scootersoftware.com/> for over ten years now. Can't live without it, and wouldn't want to anyway ;) Heck, I use it a lot even for non-development purposes.
Apr 01 2013
next sibling parent "Tobias Pankrath" <tobias pankrath.net> writes:
On Monday, 1 April 2013 at 20:36:08 UTC, Nick Sabalausky wrote:
 On Mon, 01 Apr 2013 12:53:23 -0700
 Walter Bright <newshound2 digitalmars.com> wrote:

 Life has gotten a lot easier for me trying to manage multiple
 branches of D since I've been using file compare/merge tools.
 
 I use winmerge for Windows, and meld for Linux. They are both 
 free,
 and work great.
 
 What do you use?

I've been using Beyond Compare <http://www.scootersoftware.com/> for over ten years now. Can't live without it, and wouldn't want to anyway ;) Heck, I use it a lot even for non-development purposes.

kompare and (depending on machine) kdiff3. They only compare files though. I'm using vimdiff if working over ssh.
Apr 01 2013
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 4/1/13, Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> wrote:
 I've been using Beyond Compare <http://www.scootersoftware.com/>

Me too. And the obligatory tip for anyone trying to use it with Git: Add this to your .gitconfig file (and make sure you're setting the path to BCompare.exe and not BComp.exe): [diff] tool = bc3 [difftool "bc3"] path = C:/program files/beyond compare 3/BCompare.exe And some aliases for .bashrc I use myself: alias bdiff='git difftool --dir-diff' alias bcdiff='git difftool --dir-diff --cached' alias bhdiff='git difftool --dir-diff head~1'
Apr 01 2013
prev sibling next sibling parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 01.04.2013 22:36, Nick Sabalausky wrote:
 On Mon, 01 Apr 2013 12:53:23 -0700
 Walter Bright <newshound2 digitalmars.com> wrote:

 Life has gotten a lot easier for me trying to manage multiple
 branches of D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both free,
 and work great.

 What do you use?

I've been using Beyond Compare <http://www.scootersoftware.com/> for over ten years now. Can't live without it, and wouldn't want to anyway ;) Heck, I use it a lot even for non-development purposes.

I agree, Beyond Compare is the best I know (though I didn't really searched further after buying it). Trying to do some pull request reviews I was pretty turned down by the very small context visible in the diffs on github. So I wrote a little program to help getting a visual side-by-side diff: https://github.com/rainers/visuald/blob/master/tools/cmppull.d Assuming that you have copied the link to the pull request page to the clipboard, it - extracts the link form the clipboard (or from the command line) - downloads that page - extracts information about the author, branch and number of commits - fetches the changes - starts the TortoiseGit "Diff to previous version" dialog and fills some text fields with appropriate entries This allows to review the pull request using your favorite diff tool. The implementation is currently very Windows-specific, but it should not be too hard to adopt it to other systems or tools. Rainer PS: the win32 curl libraries don't seem to support https. Is this correct or do they need some special setup? PPS: the win64 curl libraries are not available for download. Is this an oversight?
Apr 03 2013
prev sibling parent "Tavi Cacina" <octavian.cacina outlook.com> writes:
On Wednesday, 3 April 2013 at 07:32:27 UTC, Rainer Schuetze wrote:
 PS: the win32 curl libraries don't seem to support https. Is 
 this correct or do they need some special setup?

http://d.puremagic.com/issues/show_bug.cgi?id=9737 SSL usage example: ----- auto http = HTTP(); // Set the CA certificate bundle file to use for SSL peer verification // To dowload this file (or generate it yourself) see http://curl.haxx.se/docs/caextract.html // or D\dmd2\windows\mk-ca-bundle.vbs // For more information about SSL peer verification see http://curl.haxx.se/docs/sslcerts.html http.caInfo("cacert.pem");
Apr 03 2013
prev sibling next sibling parent "Kagamin" <spam here.lot> writes:
http://www.devart.com/codecompare/
It's hoggy, but has syntax highlighting and nice interface.
Apr 01 2013
prev sibling next sibling parent "Adam Wilson" <flyboynw gmail.com> writes:
On Mon, 01 Apr 2013 12:53:23 -0700, Walter Bright  
<newshound2 digitalmars.com> wrote:

 Life has gotten a lot easier for me trying to manage multiple branches  
 of D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both free, and  
 work great.

 What do you use?

I use meld on Linux and Windows. I find it easier to have one solution that works the same across the platforms I work on. -- Adam Wilson IRC: LightBender Project Coordinator The Horizon Project http://www.thehorizonproject.org/
Apr 01 2013
prev sibling next sibling parent "Jonathan M Davis" <jmdavisProg gmx.com> writes:
On Monday, April 01, 2013 12:53:23 Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple branches of D
 since I've been using file compare/merge tools.
 
 I use winmerge for Windows, and meld for Linux. They are both free, and work
 great.
 
 What do you use?

Being an avid KDE user, I use kdiff3, and it works quite well, but I also don't find that I need to use merge tools very often. - Jonathan M Davis
Apr 01 2013
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-04-01 21:53, Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple branches
 of D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both free, and
 work great.

 What do you use?

On Mac OS X, for git, the git bundle in TextMate and Gitx. For non git related diffs and merges I use FileMerge and/or Kdiff3. FileMerge is pretty good but chokes on large files. Kdiff3 has a horrible UI on Mac OS X. -- /Jacob Carlborg
Apr 01 2013
prev sibling next sibling parent "Sergei Nosov" <sergei.nosov gmail.com> writes:
On Monday, 1 April 2013 at 23:06:10 UTC, Jonathan M Davis wrote:
 On Monday, April 01, 2013 12:53:23 Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple 
 branches of D
 since I've been using file compare/merge tools.
 
 I use winmerge for Windows, and meld for Linux. They are both 
 free, and work
 great.
 
 What do you use?

Being an avid KDE user, I use kdiff3, and it works quite well, but I also don't find that I need to use merge tools very often. - Jonathan M Davis

I've used kdiff3 on Windows and Linux before I switched to Emacs for all sw-realted tasks. From now on I use ediff for viewing diffs as well as resolving git merge conflicts. It has really nice integration with magit, an Emacs git front-end and may I say the best git front-end there is. Although, "simple installation" (well, configuration in that case) is not something you can tell about it. It looks awkward out-of-the-box, but it's fully customizable. Personally, I don't find it that hard and think the result worth every bit of effort. But for many people it's like "do I really have to do this arcane stuff just to see the diff?"
Apr 02 2013
prev sibling next sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
--20cf3074b7cc3bcb5b04d95dac02
Content-Type: text/plain; charset=ISO-8859-1

On 1 April 2013 20:53, Walter Bright <newshound2 digitalmars.com> wrote:

 Life has gotten a lot easier for me trying to manage multiple branches of
 D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both free, and
 work great.

 What do you use?

Meld all the way. -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0'; --20cf3074b7cc3bcb5b04d95dac02 Content-Type: text/html; charset=ISO-8859-1 <div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 1 April 2013 20:53, Walter Bright <span dir="ltr">&lt;<a href="mailto:newshound2 digitalmars.com" target="_blank">newshound2 digitalmars.com</a>&gt;</span> wrote:<br> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Life has gotten a lot easier for me trying to manage multiple branches of D since I&#39;ve been using file compare/merge tools.<br> <br> I use winmerge for Windows, and meld for Linux. They are both free, and work great.<br> <br> What do you use?<br> </blockquote></div><br></div><div class="gmail_extra">Meld all the way.<br clear="all"></div><div class="gmail_extra"><br>-- <br>Iain Buclaw<br><br>*(p &lt; e ? p++ : p) = (c &amp; 0x0f) + &#39;0&#39;; </div></div> --20cf3074b7cc3bcb5b04d95dac02--
Apr 02 2013
prev sibling next sibling parent reply Stewart Gordon <smjg_1998 yahoo.com> writes:
On 01/04/2013 20:53, Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple branches
 of D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both free, and
 work great.

 What do you use?

Nowadays, CSDiff, the compare feature in Notepad++, or good old fc, depending on what is best for the circumstances. At least to compare - merging isn't something I've had to do much in my time. Is anybody here writing a file-compare tool in D? It would be interesting to see how good a diffing algorithm we can come up with. Maybe making use of levenshteinDistanceAndPath. Stewart.
Apr 02 2013
next sibling parent reply "Kagamin" <spam here.lot> writes:
On Tuesday, 2 April 2013 at 10:44:05 UTC, Stewart Gordon wrote:
 the compare feature in Notepad++

Would *love* scintilla-based compare tool. Where's the feature? Can't find it.
Apr 02 2013
parent Stewart Gordon <smjg_1998 yahoo.com> writes:
On 02/04/2013 19:32, Kagamin wrote:
 On Tuesday, 2 April 2013 at 10:44:05 UTC, Stewart Gordon wrote:
 the compare feature in Notepad++

Would *love* scintilla-based compare tool. Where's the feature? Can't find it.

It's a plugin - I think whether it comes pre-installed depends on which Notepad++ distribution you have. But for me, it's Plugins -> Compare. If you don't have it, I suggest you start here: http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Plugin_Central Stewart. -- My email address is valid but not my primary mailbox and not checked regularly. Please keep replies on the 'group where everybody may benefit.
Apr 04 2013
prev sibling parent "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Tuesday, 2 April 2013 at 10:44:05 UTC, Stewart Gordon wrote:
 Nowadays, CSDiff, the compare feature in Notepad++, or good old 
 fc, depending on what is best for the circumstances.  At least 
 to compare - merging isn't something I've had to do much in my 
 time.

 Is anybody here writing a file-compare tool in D?  It would be 
 interesting to see how good a diffing algorithm we can come up 
 with. Maybe making use of levenshteinDistanceAndPath.

I once had to compare two very large (GBs in size) files (filesystem listings). Every diff program I tried crashed miserably. I wrote my own: http://dump.thecybershadow.net/7558f727792723efdb159197e50d125f/uniqdiff.d It's nothing fancy (no std.algorithm), and is greedy (it works on the assumption that once it finds one line that matches on both sides, then the diff chunk is over).
Apr 02 2013
prev sibling next sibling parent "Michael" <pr m1xa.com> writes:
WinMerge on Windows, kdiff on Linux.
Apr 02 2013
prev sibling next sibling parent Martin Nowak <code dawg.eu> writes:
On 04/01/2013 09:53 PM, Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple branches
 of D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both free, and
 work great.

 What do you use?

Diffuse because it supports aligning the diffs. http://diffuse.sourceforge.net/manual.html#file-comparison-alignment It also understands git revisions, e.g. "diffuse -r HEAD~100 src/mars.c". What's missing is folder comparison.
Apr 02 2013
prev sibling next sibling parent "Jonas Drewsen" <nospam4321 hotmail.com > writes:
In my experience p4merge from Perforce can resolve more conflicts 
automatically that many of the other tools I've tried.

/Jonas
Apr 03 2013
prev sibling next sibling parent "SomeDude" <lovelydear mailmetrash.com> writes:
On Monday, 1 April 2013 at 19:53:23 UTC, Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple 
 branches of D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both 
 free, and work great.

 What do you use?

I am surprised there is still no "smart" diff/merge tool, by which I mean one which understands the syntax of languages and or detects syntaxic or semantic errors in the merged file, or better yet, compares code based on the syntax.
Apr 06 2013
prev sibling next sibling parent dennis luehring <dl.soluz gmx.net> writes:
Am 01.04.2013 21:53, schrieb Walter Bright:
 Life has gotten a lot easier for me trying to manage multiple branches of D
 since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both free, and work
great.

 What do you use?

i've used several open source, freeware and commercial tools over the years but nothing can beat araxis merge (commercial) in any way - it is by far the best diff/merge tool available - good in text, 3-way, xml and binary diff/merge, in speed and visual representation of moves etc.
Apr 06 2013
prev sibling next sibling parent captaindet <2krnk gmx.net> writes:
On 2013-04-01 14:53, Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple branches of D
since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both free, and work
great.

 What do you use?

windows only: i use the very powerful 'Total Commander' file manager all the time. the built-in file compare is good enough for me. it works for text and binary, allows editing and 2way copying/syncing, options are case in/sensitive, ignore multiple spaces /not. TC is shareware but can be used/tested for free - just a nag window at startup. it is much more than a file manager, it is also ftp client, has a deep/in-file search, viewer for text and media files, dir/file sync, built-in un/zip lets you browse through archives as if regular folders, many features more and plug-ins galore... /det
Apr 06 2013
prev sibling parent Lionello Lunesu <lionello lunesu.remove.com> writes:
On 4/2/13 3:53, Walter Bright wrote:
 Life has gotten a lot easier for me trying to manage multiple branches
 of D since I've been using file compare/merge tools.

 I use winmerge for Windows, and meld for Linux. They are both free, and
 work great.

 What do you use?

Under Windows I use TortoiseMerge, part of TortoiseGit/TortoiseSVN but also works standalone. Under OSX/linux I use git diff --color --word-diff :S L.
Jun 03 2013