Comparing 2 versions of C++ framework

C

Christophe Rhin

I have two versions of the same C++ framework (> 200 000 lines).
These two versions evolved apart during 2 years from the same starting
point.
My goal is two find "significant" differences between these two
versions.

A diff tool (like WinMerge, excellent) produces too many differences
(spaces, new lines, comments, real changes, renaming, ...).
Now I am using text processors to remove all trivial differences
before going into WinMerge : this is a long process, without undo (no
mistake allowed !)

I was thinking about using some kind of C++ preprocessor (Wave ?) or
C++ parser (Spirit) to build more comparable structures.

Any idea ? or existing tool that might help ?

Thanks in advance

Christophe.
 
D

Derek

Christophe said:
I have two versions of the same C++ framework (> 200
000 lines). These two versions evolved apart during 2
years from the same starting point. My goal is two find
"significant" differences between these two versions.

A diff tool (like WinMerge, excellent) produces too many
differences (spaces, new lines, comments, real changes,
renaming, ...). Now I am using text processors to remove
all trivial differences before going into WinMerge : this
is a long process, without undo (no mistake allowed !)

I was thinking about using some kind of C++ preprocessor
(Wave ?) or C++ parser (Spirit) to build more comparable
structures.

Any idea ? or existing tool that might help ?

You might want to try Beyond Compare 2:

http://www.scootersoftware.com/

It can be very clever at ignoring spaces, comments, and
other irrelevant details. Best diff tool I have ever used.
 
J

James D. Veale

You may want to take a look at the Complite File Comparison Family at

http://world.std.com/~jdveale/index.html

All these utilities perform a true word-by-word comparison.
Keyword and phrase processing will allow you to ignore
a good number of renamed variables, ignore most comments and so on.

In particular you may want to take a look at the Sibling Software Merge
utilities as well. Although interactive, when combined with the
directory scan, it's quite efficient.

I'd be happy to discuss your application in more detail,
contact information is on the web page.

Jim Veale

I have two versions of the same C++ framework (> 200 000 lines).
These two versions evolved apart during 2 years from the same starting
point.
My goal is two find "significant" differences between these two
versions.
A diff tool (like WinMerge, excellent) produces too many differences
(spaces, new lines, comments, real changes, renaming, ...).
Now I am using text processors to remove all trivial differences
before going into WinMerge : this is a long process, without undo (no
mistake allowed !)
I was thinking about using some kind of C++ preprocessor (Wave ?) or
C++ parser (Spirit) to build more comparable structures.
Any idea ? or existing tool that might help ?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,566
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top