Re: CVS questions

Todd Denniston <[email protected]>
Newsgroups gmane.comp.version-control.cvs.general
Message-ID <[email protected]>
Hector Santos wrote, On 10/29/2008 01:51 PM:
> Bulgrien, Kevin wrote:
<SNIP>
> See what I mean. Not so simple. <g>
> 
> Seriously,  it all does seems simple.  But there seems to be many
> things to watch for. I explored and it was just too confusing where
> you will need helper batch files or frontends to do things like above.
>  No way I would of figured out the above.  Nonetheless, I appreciate
> the example. I am saving it so I can study it line by line.
> 
>>    Keeping up with the two sources is now quite easy.
>>
>>    I won't go into merging.  You could either use built in merge
>>    facilities of CVS, or you could even just use the differences
>>    and manually merge things.
> 
> This is what I was somewhat referring to - merging related issues.
> IMO, a very confusing aspect of CVS.
> 

CVS supports branches as trunks and they can be weaved together in confusing 
ways, but if you have some understanding of branching patterns and a plan from 
that, you can use CVS to implement pretty much as much or as little branching 
as needed.

May I suggest taking a look at the ACME Project:
http://www.cmcrossroads.com/bradapp/acme/

specifically:
  http://www.cmcrossroads.com/bradapp/acme/#Branching
I think you are looking to use (now) one Development Line[1] and one 
Maintenance Line or a Release Line. Parallel Maintenance/Development Lines[5] 
  is I think what you are kind of looking for.


For some folks (me among them), using CVS it is easier to have the Development 
Line on the TRUNK[2] and having branches for previous releases (Maintenance 
Lines).  The only time you have to figure out merging is if you desire to 
either take some fix that occurred on the trunk and put it in a release branch 
or something going the other way and there is /some/ advise in the manual[4].



[1] 
http://www.cmcrossroads.com/bradapp/acme/branching/line-elems.html#DevelopmentLine
http://www.cmcrossroads.com/bradapp/acme/branching/line-elems.html#MaintenanceLine
http://www.cmcrossroads.com/bradapp/acme/branching/line-elems.html#ReleaseLine

[2] the default HEAD[3] revision in CVS which is not on a branch. Because of 
the RCS delta structure, operations on HEAD and the trunk are MUCH faster than 
on branches.


For the URLs below, please download 
http://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.23/cederqvist-1.11.23.html.tar.bz2
to your home directory and put a copy of it in /tmp.
cd /tmp
tar -xjvf cederqvist-1.11.23.html.tar.bz2

[3] file:///tmp/cederqvist-1.11.23.html/cvs_16.html#IDX227

[4] file:///tmp/cederqvist-1.11.23.html/cvs_5.html#SEC54

[5] 
http://www.cmcrossroads.com/bradapp/acme/branching/patterns.html#ParallelMaintDev
http://www.cmcrossroads.com/bradapp/acme/branching/branch-structs.html#ParallelMaintDev

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane)
Harnessing the Power of Technology for the Warfighter
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.