Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

I've been using CVS for a long time now. But I've only been using the basic features. No branching, tagging, etc. So now I'm trying to take my use of CVS to the next level. Which for me is starting to use branches. I have a copy of Carl Fogel's book and have found it very useful. (BTW, there is now a second edition and the entire book is now available for free. But I'd encourage supporting the author by buying a copy.) What I would like from my fellow monks is hints, tips, and strategy on more fully utilizing the features of CVS.

There is also a new CVS book from O'Reilly coming out soon. Anyone had a chance to review the manuscript? I suspect it won't be in-depth enough for what I want since it's an "Essentials" book. But I digress...

The IT group at my employer is very small, so the developers are almost never working on the same project. An essential element of any new strategy is that we can continue to work independently. We have also begun a project to start tagging releases, which will make updating the production servers much less risky. As part of this project, we're also putting together real smoke tests and just more testing in general.

Right now we're doing all development on the trunk and uploading files as needed for a release. No branches or tags. This is better than our previous practices (no version control at all), but it could definitely be better. After a long discussion the other day, here's our current plan.

All new development will now take place on branches. When we are ready to begin working on a new project/release we create a new branch (ie. "IM 1.4"). Then we do the develpment. Once the release is ready for production, we merge the branch changes back into the trunk. The trunk gets tagged as the next stable release (ie. "0.8.1"), and the production servers are updated to this new tag.

The big advantage we found of this method is that it allows simultaneous projects to be developed without interference. So the CVS tree might look something like this:

im-1.4 (branch #2) /===========\ / \ 0.8 / 0.8.1 \0.9 (stable releases) =*===|=====|======*=========*=== (trunk) \ / \________/ (branch #1) bugfix-1

I would love to hear how other monks have setup their repositories. Currently our setup is very simple, but expect it to grow to be more complex. I'd especially appreciate insight on how to manage (very) complex setups. How do you keep up with the branches? Is there a GUI to help visualize the tree? Thanks for any advice you can give me.

Update: marked subject as OT. But we use CVS to manage our web apps written in perl so it's only 98% OT. :-)

In reply to [OT] Advanced CVS usage by drewbie

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the grasshoppers chirp...

    How do I use this? | Other CB clients
    Other Users?
    Others chanting in the Monastery: (3)
    As of 2018-02-19 06:42 GMT
    Find Nodes?
      Voting Booth?
      When it is dark outside I am happiest to see ...

      Results (258 votes). Check out past polls.