[Vtigercrm-developers] 5.0.1, 5.1 releases

Jeff Kowalczyk jtk at yahoo.com
Wed Sep 20 10:55:26 PDT 2006


Richie wrote:
> Jeff, I need your personal thoughts on our decision to have a 5.0.1
> branch and keep the 5.1 development to be done on the top-of-the-trunk
> for 5.0.0.

I'd encourage the 'stable trunk' policy (which is kind of what we've been
using), and branch only when necessary. Scenarios include:

- Branching for release: just before a release to do a few tweaks.

  For the record, I think it was a mistake to close off the trunk for two
  months leading up to vtigercrm-5.0.0 tagging. Committers would have
  followed rules if given them.

- Branching for maintenance: when you're about to take the trunk into a
direction that won't be merge-compatible with supported releases, make a
maintenance branch, and plan for it to be long-lived.
vtigercrm/branches/4.2 has been functioning correctly in this capacity.

- Branching for features: when you're about to add a feature that will
break something until you're done working on it, or otherwise destabilize
the trunk, make a branch, and plan for it to be short lived.

  Use a project-wide consistent name for your feature branch. Something
  that includes the ticket number is good, e.g. enh-0098-newfleem

  Document your branch copy URL at rev in the commit message

  Do your work in the branch as fast as possible, merging changes from
  parent branch to minimize your diff.

  Ask for a core-team review when done, if you have doubts about what
  your code change will do to the trunk. Keep your trunk diff minimized
  while you wait for merge approval.
 
  Merge back to the trunk, document your URL at rev in the commit message,
  close/update your feature ticket

  After a brief cooling-off period, move your branch to  
  vtigercrm/branches/historical/, or delete.

Based on current status, I'd envision things like:

 vtigercrm/
   trunk/    (busy but always kept usable for 'test production')
   tags/
     5.0.0/     (over time, only keep official release tags)
     5.0.1/
     4.2.5/
     historical/
        5.0.0beta1    (useful old tags can be kept, delete rest)
        5.0.0rc1
        4.2.5rc1
   branches/
     4.2/
     5.0.2/           (only for days/hours before release)
     enh-0093-fleem/  (only present while in development)
     enh-0098-newfleem/
     historical/
        5.0.1/      (useful dead branches kept, delete rest)
        enh-0053-refubar/






More information about the vtigercrm-developers mailing list