[Bf-committers] iTaSC merge

Benoit Bolsee benoit.bolsee at online.be
Fri Sep 25 00:15:55 CEST 2009

I've finally merged the iTaSC branch to trunk. I tested scons and cmake
under Windows and Linux. I didn't test OSX or mingw. Makefiles are
updated but not tested. I'll be around on irc in the coming days to help
sorting any compilation problems that will surely come up. I'll work on
updating the wiki with usage information on itasc.
New in extern is the Eigen2 template library for matrix algebra. It
requires a fairly recent compiler but I don't think it should be a
problem. Details on compiler support can be found here:
I couldn't do the merge using SVN --reintegrate option because the SVN
server doesn't support mergeinfo. I also tried an svn merge between the
two working copy but it failed miserably: virtually all the files were
updated (I didn't investigate why) so I ended up using WinMerge to help
me doing a manual merge and it worked beautifully.
I thought I'd explain how I did just in case it is useful to someone
else (I did the merge in Windows)
First I made two clean working copy of trunk and itasc with itasc branch
perfectly in sync with trunk. I removed all unversioned files (MSVC temp
files, etc.) although it is not strictly necessary as WinMerge allows to
set filters on files. Precesily I used the predefined VC++ loose filter
that removes all temp and SVN files. WinMerge also supports a line
filter to ignore certain differences in files. I used it to skip the
$Id: header that is different on many files (all the ones that were
merged from trunk to itasc during successive sync). Here is the filter I
After that I could compare the two WC, and by selecting the files and
the column to display I could produce a simple report with all the files
and directories that were new in itasc. From this report I manually
created svn copy instructions to copy these files from itasc to trunk.
Then by displaying only the files that were different, I could create in
one shot a unified diff and used it directly with patch command to port
all the changes to trunk.
It doesn't take long to merge a branch with this method, provided that
the branch is in sync with trunk.

More information about the Bf-committers mailing list