A tag in the repository is a symbolic reminder of the state of the repository at a certain point in time or snapshot. Tagging in this work follows the naming convention as illustrated in Fig. 3. Event represents an important activity. Release denotes the formal distribution of an approved version for execution outside the development team. Version denotes an initial release or re-release of a configuration item associated with a complete compilation or recompilation of the item. Different versions have different functionality. Revision notifies change to a version that corrects only errors in the design/code, but does not affect the documented functionality.