Loading ...
Sorry, an error occurred while loading the content.

RE: [XP] thoughts on private branches?

Expand Messages
  • Robert Watkins
    ... Private branches offer the following benefits: * You can commit changes to a task prior to delivery, allowing you to rollback subsequent changes that
    Message 1 of 58 , Jan 20, 2002
    • 0 Attachment
      Mike Williams wrote:
      > A couple of colleagues are proposing that we start using private CVS
      > branches. I'm not entirely clear whether they're talking
      > about a branch
      > per developer, or a branch per "feature" (ie. story).
      >
      > My worry is that changes might stay on the private-branches too long,
      > delaying integration.
      >
      > What are your views? Do you think isolating changes on a
      > branch could be
      > useful? Do you know of any references demonstrating why
      > "just-in-time"
      > integration is bad?

      Private branches offer the following benefits:
      * You can commit changes to a task prior to delivery, allowing you to
      rollback subsequent changes that didn't work. Visual Age users would be
      familiar with this sort of work. It's also possible to do this in Eclipse,
      with their Local Workspace History tool. Think of it as an extended undo.
      * With this sort of support, you can follow Kent Beck's advice: whenever
      you get an unexpected test failure, simply rollback to your last committed
      version (which should be all of five minutes old).

      * If you use an integration machine, private branches offer a convenient way
      of moving the code over; simply check into your private branch, merge it
      into the integration box, test, then commit to the main branch.

      To counter your fears:
      * At the start of each task, you should merge the trunk into your
      development branch. This ensures that you are up to date with everything.
      * After integrating, you should merge the trunk with your development
      branch. This ensures that your development branch has all the other released
      changes, plus any changes you needed to do during integration.
      * You should still integrate frequently. Just because you're using private
      branches doesn't get you away from this.

      Private branches (under CVS) have the following problems:
      * If you make a new tag each time, you clutter up your history. Solve this
      by reusing the same tag (probably on a developer basis), or by removing the
      tag once integration is completed.
      * Sometimes, CVS can be a bit slow. This is usually an indication that your
      CVS repository needs maintenance, but it will be aggravated by the extra
      usage.
      * Getting used to CVS tags can be a bit daunting. Expect to make a few
      mistakes until everyone gets used to it. You may want to automate this
      process a bit, by supplying scripts to construct the CVS command lines.

      As long as you integrate frequently, private branches will offer little to
      no problems. If you integrate less frequently, private branches will
      probably help you out in resolving integration problems, because you'll have
      the version history to help resolve issues. However, delaying integration
      will hurt you, simply because the complexity of an integration effort is
      directly related to the amount of change that has occurred, which is
      indirectly related to how much time has passed.

      Robert.

      --
      "Duct tape is like the Force: it has a light side, a dark side,
      and it holds the universe together"
      Robert Watkins Software Architect QSI Payments Inc.
      robertdw@... robert.watkins@...
    • alex@jguru.com
      ... That s cause it s not ready yet. It s still in development. http://subversion.tigris.org/project_status.html - A -- Alex Chaffee
      Message 58 of 58 , Feb 1, 2002
      • 0 Attachment
        On Sat, Feb 02, 2002 at 11:25:11AM +1300, Mark Derricutt wrote:
        > Theres subversion, which is a new open source version control system born
        > out of cvs, but to fix all the problems of cvs.
        > http://subversion.tigris.org/
        >
        > I've not tried it myself yet thou.

        That's cause it's not ready yet. It's still in development.
        http://subversion.tigris.org/project_status.html

        - A


        --
        Alex Chaffee mailto:alex@...
        jGuru - Java News and FAQs http://www.jguru.com/alex/
        Creator of Gamelan http://www.gamelan.com/
        Founder of Purple Technology http://www.purpletech.com/
        Curator of Stinky Art Collective http://www.stinky.com/
      Your message has been successfully submitted and would be delivered to recipients shortly.