# CVS Guideline

## Introduction

This guide should collect conventions used in the Phex project when working with CVS. Every Phex developer working with CVS should try to follow this guide as good as possible.

## Release

TODO --- Only the person creating the relase should modify the version.properties. ---

## Tagging

- A release is always tagged with the word "release" append with a "-" and its version. The version separator "." is replaced with a "_". Only the person who builds and publishes the release should place the release tag.
  Example: release-0_8_0_34

## Branching

### Recommended Documentation:

- What branches are good for.
- Branching with WinCVS

### Procedure and Naming Guideline:

- Whenever you plan to integrate bigger changes that you might not get finished and tested in a few days, you should think about creating a separate branch on which you can develop freely without influencing and getting influenced by other developers.
- Before branching you should synchronize with the project leaders and other developers to agree about your intention and reason to create branch.
- The branch point should be selected carefully. Usually its only necessary to branch of the /phex/src directory or of a specific package (e.g.: /phex/src/phex/gui) depending on what changes you plan to integrate.
- The name of a branch should be in lower case. Words should be separated by a "-". The name should end with the word "branch".
  Example: xml-metadata-search-branch
- Before creating a branch, a tag should be placed on the branch point. The name of the tag should be the branch name appended with the word "point".
  Example: xml-metadata-search-branch-point
- Before merging a branch back into the main line or into a different branch, a tag should be placed on the branch and on the line to merge into. The name of the tag should be the branch name appended with the word "before".
  Example: xml-metadata-search-branch-before
- After merging a branch back into the main line or into a different branch a tag should be placed on the line merged into. The name of the tag should be the branch name appended with the word "after".
  Example: xml-metadata-search-branch-after

## Further Readings

- Introduction to SourceForge.net Project CVS Services
- WinCvs CVS Client Installation Instructions
- WinCvs Daily Use Guide

Copyright © 2001 - 2003 Gregor Koukkoullis. All rights reserved.