Forum OpenACS Q&A: Response to CVS gurus: Revert to imported version

Posted by russ m on
Assuming your changes aren't exactly the same as the core patches, you need to back out your changes before bringing in the new core. To be able to do this cleanly, those changes need to have been committed seperately to anything else (such as changes in core to support your application, which you'll want to keep).

What you need to do is find out which commits of which files are the stuff you need to back out, get CVS to produce a suitable patch, then apply it.

For example, you've made a bunch of changes to foo.tcl, some of which are bugfixes (which you now want to back out) and some of which are in support of your application (which you want to keep).

cvs log foo.tcl shows you that foo.tcl is at revision 1.9, and the list of commit messages shows that 1.4 commit is the one you want to remove. cvs diff -r1.4 -r1.3 foo.tcl will give you a patch that takes the code from 1.4 to 1.3, which if nothing since has touched those lines will back out whatever change you've made. Apply that patch, repeat for other modified files, then you're set to import the updated core.