more.groupware structure in CVS
Prev | Chapter 18. CVS and more.groupware development | Next

## more.groupware structure in CVS

| Important
The information about different branches being available for more.gorupware ist not correct (any longer, right now). All development takes place on the trunk and there are no stable and development releases. This will stay this way until a 1.0 release is out. Then we will switch to this approach. Keep this in mind!

rel0.4-branch rel0.6-branch
_____________________ ____________....
/ | | / |
/ rel0.4.1 rel0.4.x / rel0.6.1
------------------------------------------------------....Trunk
| | | |
rel0.4.0 rel0.5.0 rel.0.5.x rel0.6.0

| Note
The graph above shows the release tags, there are also some merge tags in the branches for knowing when there was a merge in the trunk. Tag names would be branch_0_4-intotrunk1 or branch_0_4-intotrunk2 or branch_0_4-intotrunk3. This way we can have long branches without re-merge allready merged stuff and getting conflicts.

To see a real-life example, here is the CVS history of the INSTALL file which is inside the moregroupware package.

Figure 18.1. part of the CVS structure

You can see that at some time, a release branch will be made (here branch-0_4) and then the bugfixes go to this branch, while the main development line will be continued with new features. The black boxes are the tags, moregroupware knows two tags, release tags and merge tags. The "*_intotrunk*" tags are merge tags. The blue boxes are the file versions, so each commit generates a new blue box with a file revision number. When you make a bugfix on a branch and commit it, the blue box will be connected with the branch, otherwise it will be put to the end of the main line (HEAD).

| Note

- two development lines at any time (one branch and trunk)

- All major rel. and minor dev rel. will be tagged on trunk

- Minor stable release allways on some branch

Prev | Up | Next
Branching in CVS | Home | Chapter 19. How to translate Moregroupware