CVS Naming Convention
Java September 28th, 2005Despite the mass of resources on CVS usage available, little of them mention the issue of naming branches and tags which is very important if you strategy suggests there will be a lot of them in the repository.
Here is what we came up with.
Full branch name: Br_yy-mm_BranchName
Root (base) tag for branch: Root_Br_yy-mm_BranchName (as prompted by Eclipse)
Latest trunk-to-branch merge point in branch: Br_yy-mm_BranchName_Merged
Latest branch-to-trunk merge point in trunk: Merged_yy-mm_BranchName
Sub-branches: Br_yy-mm_BranchName_SubBranchName
Latest stable version: HEAD_STABLE or Br_yy-mm_BranchName_STABLE (shared movable tag, can be assigned only by module owner)
Release of any kind: Delivery_yy-mm_Purpose-Or-Version (example: Delivery_05-01_Milton-Demo)
Notes:
1. yy stands for year’s, mm – for month’s 2 last digits, the month of the branch creation; these numbers stay constant for all interconnected artifacts despite of the time of their creation, i.e. Merged for branch contains the date of branch creation and not the date of merge operation
2. Try using TitleCase or dashes inside long proper names instead of underscore. Underscore _ is used to separate the logical segments of a name.
July 16th, 2006 at 6:25 pm
[...] http://www.bairov.com/2005/09/28/cvs-naming-convention/ [...]
September 29th, 2006 at 1:06 pm
What about branch-to-sub-branch and sub-branch-to-branch merges?
Also I usually tag a branch before merging. This helps to check what has been merged before committing, and also after it has been committed.
September 30th, 2006 at 8:37 pm
I usually use branch name and timestamp, which appears to be quite enough in most situations.