The recommended Subversion directory layout contains trunk
, tags
and branches
directories:
Project
|-branches
|- ...
|-tags
|- ...
|-trunk
Is there a generic name for referring to the three directories: trunk
, tags
, and branches
? Let's say for naming a variable: list x = ["branches/...", "tags/...", "trunk" ]
.)
Base on what I observed in different open source projects, I usually use this convention (Assume we are adopting trunk-based development, and making use of release-branch and feature-branch branching strategies)
Basic layout:
Directory name for trunk/tags/branches are pretty standard. I usually separate feature branches from release branches to avoid confusion. However there is no standard directory for feature branches. "sandboxes" are one name that I have seen. You can consider something else you like
For tag name, quite a lot of project use
proj-name-VERSION
. For example, tag forfoo
project version 1.2.3 is going to be tagged asfoo-1.2.3
For branch name, it depends on how you arrange your version and release. One typical way is having version as MAJOR.MINOR.MICRO. Incrementation of MAJOR or MINOR is going to be a new release, while MICRO is used for bug fixes for a release. In such case, we usually create release branch for MAJOR.MICRO.x. For example, upon release of
foo
version 1.0, you should create a release branch forfoo
version1.0.x
. Branch name is usuallyfoo-1.0
orfoo-1.0.x
For feature branches, simply name it base on the feature. No special convention I observed.