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.
> From: cvsnt-bounces at cvsnt.org [mailto:cvsnt-bounces at cvsnt.org] On Behalf Of Trevor Leybourne > Sent: Wednesday, February 22, 2006 7:36 PM > To: cvsnt at cvsnt.org cvsnt downloads at march-hare.com @CVSNT on Twitter CVSNT on Facebook > Subject: RE: [cvsnt] Re: "cvs update" avoiding files with local changes? [snip] > The concept is what Team System call a "Shelf", and the way it was > explained to me is something like this and it makes a truck load of > sense to me. > > * A developer checks out a repository into a sandbox. > * Makes changes and the code is not ready to be committed, but for > backup purposes the developer can "commit" the changes to the "shelf". > It is stored in CVS, can be viewed in CVS but if someone else checks out > the module or project those changes are NOT included. The developer can > rollback to a previous "shelf" version if they want and can commit more > changes to the shelf. > * At some point the "shelf" is committed as a normal committ. > > The other advantage to this is the shelf can be used as a "review" check > point. A developer commits his/her changes to the shelf and another > developer or manager reviews the changes there before approving the > changes to be committed to the main repository. I do this using a regular branch. The "shelf" is simply a branch off of whatever revision I'm working on; I use tags to mark where mergepoints from where I last merged the "main" branch with the "shelf". You can wrap all this in scripts to make it easy (today I use WinCVS with nongnu.org CVS server, so I haven't automated the process yet). Rick