[Zope-dev] RE: Re: svn vs. cvs (some documentation)
Tres Seaver
tseaver at zope.com
Tue Oct 19 16:12:47 EDT 2004
Jim Fulton wrote:
> Tres Seaver wrote:
>
>> Jim Fulton wrote:
>>
>>>> 3. Up to this point, we haven't had to be careful about managing
>>>> bugfixes across multiple releases.
>>>
>>>
>>>
>>> Sure we have. We've had a release branch for
>>> some time. Perhaps I should add:
>>
>>
>>
>> The complaint you made earlier today (about bugs fixed on the head,
>> but not on the release branch) is a symptom of this issue. FWIW, it
>> is standard doctrine that bugs should be fixed *first* on the release
>> branch, and then forward-ported to the trunk, rather than vice versa.
>
>
> I agree that that is a good doctrine.
>
> ...
>
>> When collaborating on a feature which touches many files, it is often
>> desirable to check in intermediate versions; activity branches make
>> this possible, without risking the stability of the trunk.
>
>
> Yup. There are definately examples of this in Zope 3's history
> and future. I'd put it a little differently, in that it is
> not necessarily the number of files but the overall time to
> complete a development project that sometimes makes separate development
> (activity) branches necessary.
>
> > The CVS
>
>> document (http://dev.zope.org/CVS/ZopeCVSFAQ) says:
>>
>> It is very important that the trunk remain stable so that releases
>> can be made on short notice. To keep the trunk from becoming
>> unstable, all work is done on branches in CVS and when the work has
>> stabilized it can be merged into the trunk.
>
>
> For Zope 3 and svn, I would change this to something like:
>
> It is very important that the trunk remain stable so that releases
> can be made on short notice. To keep the trunk from becoming
> unstable, no change can be checked into the trunk, or to a
> release branch unless:
>
> - All tests pass, and
>
> - All new code has adequate unit and functional tests.
>
> If you need to check in intermediate work, because a project
> takes a long time or there are multiple participants, then
> create a development branch and work there. When development is
> completed and the resulting changes are stable and adequately tested,
> then the branch can be merged to the trunk (or to a release branch)
> and committed if all tests pass.
OK, that sounds fine. Another reason for an activity branch: the work
is "experimental", and may never be merged; putting on a branch lets
others evaluate it without risking stability.
Tres.
--
===============================================================
Tres Seaver tseaver at zope.com
Zope Corporation "Zope Dealers" http://www.zope.com
More information about the Zope-Dev
mailing list