Quick Diff Utility For Microsoft World

Looking for code to implement QuickDiff in programs that are compliant with the MicrosoftWay. Probably works as a subroutinee, similar (to enduser) presentation to whats here at WardsWiki (or UseMod).

Looking for a practical, simple and maintenable solution with above constraints.

Unfortunately WindowsXp has not got functions I can call like Unix. I tried looking on the net but cannot locate freeware addons nor code to do this.

Thanks for help.

DavidLiu

P.S. Our resident algorithm guru (DM) caution me that lots of implementations on the market (including the Gnu C code) are not very good. Personally I can survive if the only problem is bloated code, but I cannot bear with QuickDiff that does poor matchup, as I am spoiled by what I have seen on wikis.


PythonLanguage code may be an option

"Unfortunately WindowsXp has not got functions I can call like Unix. I tried looking on the net but cannot locate freeware addons nor code to do this."

David, I hope I'm not telling you something you know already and have discounted as unfeasible. Have you looked into the GnuTools diffutils package? It has full source code in CeeLanguage for some diffing CommandLine programs. Or if you want them already compiled, try the GnuWin32 port at SourceForge. I bet you could pipe the diff results to a little PythonScript that outputs the diff as nice HTML, assuming that's what you're after. Does this help? -- ElizabethWiethoff

I'm glad it helps. I'm not a Unix expert myself, being a long-time Mac-head. But when I'm stuck on a Windows PC, I throw in some of those GnuWin32 command-line utilities just so I can get some work accomplished! I have found the coreutils, diffutils, findutils, and grep to be very handy. If you download these and use them from time to time, the Unix culture will not be so foreign. -- Eliz

News flash: The PythonLanguage difflib module does diffs (http://docs.python.org/lib/module-difflib.html). Results can be output as HTML using the HtmlDiff class (in Python 2.4 or later). There's a diff.py script in Python's Tools/scripts directory (2.3 or later) all set to run. I haven't tried any of this; I just discovered it. -- Eliz


MicrosoftWindows options

There is a CeePlusPlus sample program called WinDiff that comes with VisualStudio. Perhaps you could adapt that.

Consider COM/ActiveX/VBX/OCX components for the task. Consider "OLE Automation" of GUI-driven tools.

Doing a Google, pointed me to this tool, and there may be others: http://www.softinterface.com/CFX/CFX.htm (OK, so it's not cheap: http://www.vbxtras.com/products/comparefilesx.asp ;-)

See also discussion at http://www.usemod.com/cgi-bin/wiki.pl?UseModWiki/DiffForWindows


As if you didn't already have enough suggestions, I've had great success with WinMerge, an Open Source diff/merge tool (http://winmerge.org/). I don't know how it compares algorithmically with the others, as I haven't read the source yet, but from an EndUser point of view it's significantly faster and more accurate than WinDiff. The only thing it lacks from my point of view is ThreeWayMerge?. --TimLesher


EditText of this page (last edited August 25, 2005) or FindPage with title or text search