Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
Hi Tony, I am interested in learning more about the Edit/Commit by Bug new to 2.0.52 <snip> * Edit/Commit by bug. The edit system allows you to specify a bug number when editing, then unedit/commit based on that bug number. The notifyinfo procedure now takes some more parameters to handle that (do a 'cvs init' for the latest documentation on that if you're interested). Basically the best documentation at the moment is 'cvs -H edit' and 'cvs -H unedit'. Most of these features need both a 2.0.52 client and server to make any sense. </snip> Is the intention of this concept to be used like a mini branch per bug. This would be great to allow developers to further isolate themselves from each other while still having the ability to checkin incremental changes to the repository without the overhead/mess created by applying a branch to their whole working area. Some of the groups around me are (un)/lucky enough to have clearcase licenses and have a nice front end that sets up a config_spec based on developer and change request/bug that tells clearcase to do a mkbranch on checkin. Could this new "Edit/Commit by bug" feature be used to achieve something similar with CVSNT. Below is a worked example of how I was thinking of manually achieving something similar with current CVSNT functionality. This of course could do with a nice frontend to automate it and do the hard work. (Just like in Clearase). Cheers Mikew Branch Per Feature Process Within CVS. Stage 1: Starting out. checkout latest baseline cvs checkout main.cpp Or Update to latest baseline cvs update -A main.cpp Or update to baseline branch cvs update -r ib_v4_02_rX Stage 2: Do some dev. Make some changes till the point that you wish to commit a snapshot of them to the repository. Stage 3: Commit to working on a single Bug within this file. Ask Which Bug are you working on? User Types "Bug0123" Parse the output of cvs status main.cpp to check that it isn't already on this branch fb_Bug0123. if !onbranch(fb_Bug0123) { cvs tag -b fb_Bug0123 main.cpp cvs update -r fb_Bug0123 main.cpp cvs commit -m "Initial snapshot of fix to Bug0123" main.cpp } else { cvs commit -m "subsequent snapshot of work onBug0123" main.cpp } Stage 4: Prepare for Ready_For_Recheck(RFR) Merge in latest changes from latest baseline. cvs update -jHEAD main.cpp or cvs update -jib_v4_02_rX resolve any conflicts do some more testing Commit any merged changes to the fb_Bug0123 Branch. cvs commit "Merged with latest baseline" Stage 5: Mark as Ready_For_Recheck Now tag bug Ready_For_Recheck (RFR) cvs tag -c fb_Bug0123_RFR main.cpp Stage 6: Prepare to Integrate into baseline To intergrate onto the tip of the main trunk. cvs update -A Or To integrate onto the tip of a branch called ib_v4_02_rX. cvs update -r ib_v4_02_rX Stage 7: Integrate to the baseline using a merge. Merge from the Bug0123 Branch into the baseline. cvs update -jfb_Bug0123_RFR main.cpp resolve any conflicts do some more testing. Stage 8: Commit the change to the Baseline. cvs commit -m "Integrated Bug0123"