
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