Instructions on How to Update Internal Sources
this document needs to be revised slightly for OSAF switch to SVN
Suppose you have the latest chandler source checked out. Let's name
olddir the source from our cvs - this could be for example /internal/wxPython-2.5. Let's name
newdir the latest source archive you downloaded from the vendor/provider, for example wxPython 2.5.3.
NOTE: Haven't tested exact command syntax, but something like this should work!
- Make diff between the versions:
- diff -u8r olddir newdir > diff.log
- some versions of diff need: diff -U 8 -r
- Get a list of file that we need to cvs remove:
- grep "^Only in olddir" diff.log | grep -v "/CVS$" | grep -v "/.cvsignore$" | sed "s/^Only in olddir://" > old.log
- Get a list of file that we need to cvs add:
- grep "^Only in newdir" diff.log | sed "s/^Only in newdir://" > new.log
- Copy new source over old source:
- cvs remove files no longer used
- cat old.log | xargs cvs rm -f
- As a sanity check, just do cat old.log first to see if it makes sense.
- cvs add new files:
- cat new.log | xargs cvs add
- As a sanity check, just do cat new.log first to see if it makes sense.
- Since some new "files" may have been directories, we need to check for those specifically and handle them manually:
- cd olddir
- cvs diff > x.diff
- Look at the beginning of x.diff - if there are entries that start with ?, cvs add those by hand. If any of them where directories, do cvs diff again, and repeat.
You should now have updated sources in
olddir, ready for building and testing and finally cvs check-in.
Expect the CVS check-in to fail a few times before you finally succeed. It's common for many of the new Python source files to have tab characters in inappropriate places, which will cause the Chandler check-in scripts to fail. To fix these problems, edit the affected files and convert tabs to spaces as appropriate. Keep track of these files and email Robin Dunn with a list so that he can update them for the next release.
--
HeikkiToivonen - 23 Nov 2004
--
DavidSurovell - 21 Apr 2005