Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] Open-source repository question



Curt Sampson wrote:
In my world, we don't use branches much.

I have found branches useful for a few things; they're good for maintaining a stable released version, for security patches or whatever. Also for experimental short term "hey what if it worked like *this*" branches.

The main use though is for doing new work that has a lot of impact, refactoring, new features and so on, while also polishing the previous version for a release. We used this model several times in my last work project: Approach feature freeze on a version (on the trunk), release it to testing, branch and continue development on the branch. For a while you have an unstable feature branch and an increasingly stable trunk. When bugs are fixed in the trunk, they are repeatedly merged into the feature branch (Subversion > 1.5.0 merge tracking helps with this.) When you are ready to release, you tag that on the trunk and release, maybe create a branch for security patches or whatever. Then you merge your development branch back into trunk and continue development on the trunk (the development branch gets deleted.) Since you had been merging from trunk frequently, the reintegration merge takes no extra work.

This has advantages when you have to wait for a testing department to get back to you having found bugs (or criticise colours, etc.), you can continue developing freely for the next version without being in the straitjacket of feature freeze. Can't really do that if you do everything on the trunk.

Also re merge tracking:

Stephen J. Turnbull wrote:
The problem with CVS (and Subversion) is that
once you've branched, you have to stay on the branch until you merge
back to mainline.

Not quite sure what you mean by this, see my description above of feature branches with repeated merge-from-trunk operations and merge tracking. Are you aware of that ability in Subversion?

Perhaps you mean that changes made on the branch have to stay there until you reintegrate the branch - there are ways around it but yes, that is the normal model.

--
Jon Povey
jon@example.com


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links