Code Management System

From VSI OpenVMS Wiki
Revision as of 10:47, 16 December 2022 by Jane.doe (talk | contribs)
Jump to: navigation, search

The Code Management System (CMS) is a library system for software development and maintenance, part of DECset. Its features include:

  • storing code and other related files in libraries
  • controlling versions of code (generations)
  • manipulating groups of objects as a unit
  • manipulating versions of the entire system (classes)
  • managing code reviews
  • keeping track of history and storing comments
  • merging changes made to different generations of the software
  • additional security mechanisms
  • providing notifications when an event occurs

Concepts

  • A CMS library is a repository for CMS objects. It resides in a directory that has been initialized for use solely by CMS; your default directory cannot be a CMS library. The CREATE LIBRARY command creates CMS control files in the specified directory. A working library is chosen with the SET LIBRARY command; CMS$LIBRARY logical is defined to point to your current library. Once the library is created, it should only be accessed through CMS commands.
  • A CMS element represents all versions of a particular file in a CMS library. An element cannot be a directory file.
  • A CMS generation represents a specific version of an element. When an element is first created, CMS creates generation 1 of that element. When the element is later modified (reserved and replaced), CMS creates a new generation of that element.
  • A CMS group is a set of elements that can be manipulated as a unit.
  • A CMS class is a set of particular generations of elements. Typically generations of elements are combined into classes to represent progressive stages, or base levels, in the development of an entire system.
  • A reservation is when an element is taken out for modification and then replaced with a new version.
  • A reference copy directory is a directory that stores the copies of the latest main-line generation of selected library elements.