By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
445,898 Members | 2,022 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 445,898 IT Pros & Developers. It's quick & easy.

Comparing 2 versions of C++ framework

P: n/a
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.
Jul 22 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Hi Christophe,
I was thinking about using some kind of C++ preprocessor (Wave ?) or
C++ parser (Spirit) to build more comparable structures.


Have a look at this one:
http://astyle.sourceforge.net/

Tilman
Jul 22 '05 #2

P: n/a
Christophe Rhin wrote:
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.
Jul 22 '05 #3

P: n/a
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

ch*************@club-internet.fr (Christophe Rhin) writes:
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.

Jul 22 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.