Page: http://wiki.cocoondev.org/Wiki.jsp?page=CVSMigration , version: 1 on Sun Mar 9 05:51:51 2003 by JeffTurner
New page created: + !!!CVS Repository migration + + On 9 March 2003, the Cocoon CVS module, 'xml-cocoon2', was split up into 'cocoon-2.1' and 'cocoon-2.0' modules. See [this email| + http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=104717187510831&w=2] for full details. + + This page describes how to update your old xml-cocoon2 checked-out module, so you don't have to checkout all 36mb again. It involves doing a search & replace in multiple CVS/* directories. I've used Perl for this job, by any other tool (sed?) could be used. + + !! Change CVS/Repository + + Every directory will have a {{CVS/Repository}} file. Previously, it contains just the string 'xml-cocoon2'. We want to change this to 'cocoon-2.1' or 'cocoon-2.0', depending on if we're checking out Cocoon 2.1 or 2.0. + + To do this, we can either: + * Type: {{find . -name "CVS" -type d -exec perl -i -pe 's/xml-cocoon2/cocoon-2.1/g' {}/Repository \;}} in your {{xml-cocoon2}} directory (or renamed equivalent). + * Download the attached __cvsmvrepo__ Perl script, and type {{cvsmvrepo xml-cocoon2 cocoon-2.1}} + (substitute {{2.0}} for {{2.1}} to get Cocoon 2.0.x source) + + !! Change CVS/Entries + + This is only applicable for converting a 2.0.x directory to the 'cocoon-2.0' module. Here we have an extra requirement: strip the 'branch' indicator from every file's {{CVS/Entries}} entry: + + {{{ + /changes.xml/1.138.2.87/Wed Feb 19 00:36:46 2003//Tcocoon_2_0_3_branch + /todo.xml/1.28.2.8/Wed Feb 19 00:36:46 2003//Tcocoon_2_0_3_branch + /build.xml/1.196.2.28/Sat Mar 8 06:57:22 2003//Tcocoon_2_0_3_branch + }}} + + This can be done with another 'find' command: + {{find . -name "CVS" -type d -exec perl -i -pe 's:/Tcocoon_2_0_3_branch$:/:g' {}/Entries \;}} + + \\ + You can now do a {{cvs update}} on these repositories, and hopefully they should update. For some reason, CVS insists on updating (U) each file, but even so, this is faster than a full checkout. + ---- + !!!Notes + * More detailed explanation of CVS/* files and these 'find' commands can be found in [Excalibur's HALF-BRANCHING.txt doc|http://cvs.apache.org/viewcvs.cgi/*checkout*/avalon-excalibur/HALF_BRANCHING.txt?rev=HEAD&content-type=text/plain]. + * If these command wreck your system, don't blame me :) +
