Elias Torres wrote:
Sounds good except for the part of tagging being a branch. :)

Tagging is not reworking any of the core just adding a feature. If so,
then everything should be coded as a branch. Modularization is a prime
candidate in my opinion for branching in case we want to do some work in
trunk with Roller.

Actually, I only used that as an example because of your previous comment about making a branch for tagging. I agree, tagging shouldn't need its own branch of development, it should ideally be done in the trunk.

IMO the only reason we should ever do development outside of the trunk is if we are going to be working on something that has no reasonably scheduled delivery date or if the work is such a massive change that it would prevent others from being able to continue their work in the trunk.

So, as long as we are committed to tagging for 3.1 then i say we do it in the trunk.

-- Allen



-Elias

Allen Gilliland wrote:
That sounds right to me, but I think branches/roller_2.x makes more
sense.  It's just a matter of convention, but I think that 2.x suggests
that it's the ongoing branch for 2.x development, if there is any.

We should probably have a little bit of discussion about what we want
for the standard way of trunk -> branch -> tag process.  I don't think
we have followed any strict conventions up until now, and it would be
nice to actually do that.

I suggest the repository is used like this ...

trunk - do main work here

branches/roller_3.0 - only used during RC phase for a release, becomes a
tag when RC is approved.

branches/whatever - used when development can't be done in trunk.  i.e.
branches/roller_3.1_tagging or branches/roller_jdobackend

tags/roller_X.x - final resting place for releases.  these never change.


So the release process is ...

1. do some amount of work in the trunk.
2. you think that it's worthy of release and copy trunk to a branch with
release number and create an RC from that branch.
3. community evaluates and votes on that RC.
4. if changes are needed they are done to the trunk and merged into the
branch, then a new RC is created and we go back to step #3.
5. when an RC is approved by the community the branch is moved to a tag
and the release goes out.

this way when a release is at the RC stage the trunk is still free for
further development which does not have to affect the branch used for
creating the release.  then the tags are just for archiving purposes.

i am open to any changes in this process, i mainly just want a
documented process so that anyone could follow the steps and know
exactly what to do.  i also think this makes sense because it keeps the
repository clean so it's easy to know what's being used and how.  some
things that seem worth fixing to me are ...

tags/roller_2.2_scrapped/
tags/roller_2.4_alpha1/

neither of those are *final* releases, so i'm not sure why they are
tagged.  i think it's easy to just say, tags are only releases that go
public, everything else is a branch.  also, we don't have a roller_2.1
tag, which is not cool :/

branches/roller_2.3/

do we still need that for something?  i would think that after a release
goes public it's branch is no longer needed because work continues in
the trunk, or if it was the last in a major rev then work continues in
the .x branch for that major rev.

anyways, what do you guys think?

-- Allen


Dave Johnson wrote:
Yes, I'd like to make Roller 3.0 the trunk as soon as possible.

Anybody object to this?

  1) move trunk to branches/roller_2.4_unreleased

  2) move branches/roller_3.0 to trunk

- Dave




On 9/13/06, Allen Gilliland <[EMAIL PROTECTED]> wrote:
any reason why we can't do this now?

-- Allen

Reply via email to