Cesnet Liberouter
  • Projects
  • Liberouter
  • Scampi
  • FlowMon
  • NIC
  • NIFIC
  • IDS
  • NetCOPE
  • VHDL design
  • System software
  • Testing
  • Formal verification
  • Netopeer
  • Documents
  • Our hardware
  • Card Availability
  • Our partners
Main page -> Documents -> Policy -> Updating source code
Source code updating (TAGs and Branches)

Component

If any functionality is added to given component and the component is stable and ready to use in any project, it is necessary to mark the component by stable version TAG. The tag name is based on component name and has following format:

COMPONENT_MM_mm

  • COMPONENT - is component name. For example HFE, LUP, etc.
  • MM - major version number. Number is incremented only if big changes has been applied.
  • mm - minor version number. It is incremented if small change is occurred.

The TAG is added by VHDL designer, who is responsible for given component. It is also important to note that the marked component has to be always stable!!! It means that you should eliminate as many bugs as possible.

Project design

Project design TAGs and Branches can create only designers who are responsible for design assembly and has to be used only for stable versions! Creating new version of a project is really simple. First of all every component has to be downloaded in its stable version (For example LUP_01_00). After that whole project is marked by project TAG.

It is necessary to write versions numbers of each component into the dedicated file which should be called "spec.xml". It enables better version administration and automatic detection of component behavior. New functionalities, features and known bugs should be also added to the description.

The new TAG should be applied only on directories which are related to tagged project. So, for every project has to be list of directory which has to be marked by project TAG. The file should be called "related_dirs.txt".

If it is assigned TAG name for any design, the same name can not be used again because the name can not identify two source code states - the mistake, which is related to the version, has to be always related to the same source code (to the same version).

The names of TAGs are based on project names. So, all TAGs has to be called in following form:

PROJECT_MM_mm

  • PROJECT - is project name. For example SCAMPI or LIBEROUTER.
  • MM - major version - big changes
  • mm - minor version - only small changes

Examples of TAGs for SCAMPI and LIBEROUTER project:

  • LIBEROUTER_00_01
  • SCAMPI_00_01

Branches:

We use branches only if it is necessary. So, if someone has to fix bug in tagged version and it is really difficult to change the latest version to stable one, branch is created. The same principles can be used for both - component and/or project.

Every new Branch is created on tagged version and its name is based on TAG name. The only one difference is suffix which is added to Branch because it is necessary to distinguish tags and branches and have possibilities to order versions at given Branch.

If PROJECT_MM_mm or COMPONENT_MM_mm is TAG for stable version and it is necessary to create branch, the name of the branch has to be in following form:

  • PROJECT_MM_mm_BRANCH
  • COMPONENT_MM_mm_BRANCH

Every stable version in the branch has to be marked by TAG. The name has to be in following form:

  • PROJECT_MM_mm_BRANCH00
  • COMPONENT_MM_mm_BRANCH00

... where the last two numbers are numbers of stable version at given branch. So, if another bug is fixed in the same branch, the last number is incremented.

Main Page About Liberouter Team Mailing list SVN Contacts