SVA Theory
This page aims to help the SVA user understand the implementation
decisions that were made.
Inspiration
The layout of the repository was mostly inspired by:
Pragmatic Version Control, Using Subversion
By Mike Mason
ISBN 0-9745140-6-3
The process for creating release branches and tags is based on the one
used by the FreeBSD Release Engineering Team.
Repository Layout
The directories at the top-level of the repository are considered to
be projects. In each project, a very specific directory structure is
maintained.
The Trunk Directory
The trunk directory is used to store the most current version of the
project. There is no enforcement of the structure inside the trunk.
Developers usually work on the trunk until a point in time where the
source code in the trunk becomes stable. At this time, a branch of
the trunk is made.
The Branches Directory
The branches directory is used to store branches made of the project.
This includes release branches, bug fix branches, and experimental
branches.
The Tags Directory
The tags directory is used to record a point in time for the project.
This includes the time at which releases where made, or bug fix
branches were created.
Branches and Tags Subdirectories
The branches and tags directories both include the following
subdirectories:
| Directory |
Description |
| rel |
For releases |
| bug |
For bug fixes |
| exp |
For experimental code |
Repository Structure Visualization
myproject:
|
+--trunk
| |
| +--project-files
|
+--branches
| |
| +--rel
| +--bug
| +--exp
|
+--tags
|
+--rel
+--bug
+--exp