Well, the convention with Subversion is:

/trunk

/branches/experimental_version
/branches/new_feature_integration
...

/tags/release_2.1
/tags/pre-release_2.1
/tags/release_2.1.1
...

where the second level is whatever naming scheme you find suitable.

where the branches are used to work "in isolation" for a while, before merging with the trunk, and the tags are usually for something like a complete snapshot of a working version that you want to be able to refer to.

I have found that comparisons between version control systems and their different strategies can be very confusing. As such, I think introducing Perforce principles are not going to map so well. Since Subversion is the version control system in use, better to stick with the typical practices for it.


On 05/12/2007, at 6:53 PM, Mark Brouwer wrote:

Jim,

The release notes look good to me. There are some HTML bugs in this file that I can fix if you like, let me know if you want me to do it.

Given the fact many committers are grabbing their piece of work as JIRA shows I really think it is time to branch into a version or release branch, or are there some things that needs to be done and that would be a pain to integrate back into the trunk?

About branching I believe we should come up with a strategy for branch names and code evolution. Based on perforce (which has better integration support, so I might be wrong for SVN) I opt for a main branch (the trunk) which should contain the ongoing and latest and greatest development.

 /trunk/
 /version/2.1/
 /release/2.1/1/
 /release/2.1/2/

The version/2.1/ branch is branched from the main branch (which we could do now), the release/2.1/1/ and release/2.1/2/ branch are branched from the version/2.1/ branch.

This way we can provide support in the version/2.1/ for the 2.1.x releases and allows us to make more (temporarily) disruptive changes in the trunk. Emergency fixes for a particular release branch can always applied to the release branch itself without being interfered with work in the version branch. We can always integrate changes from trunk into version if there is a need, or the other way around.

I also think we should change AR1 to AR_2.1.1 in JIRA.

Let me know what people think. I can be a bit more verbose related to the branching policies from a conceptual viewpoint but I hope the above is clear.
--
Mark

Reply via email to