IBM Configuration Management Version Control
| Company type | Proprietary software |
|---|---|
| Industry | Software development, Version control |
| Founded | mid-1990s |
| Founder | IBM |
| Defunct | after Rational Software acquisition (late 1990s) |
| Fate | Support discontinued; superseded by Rational ClearCase and ClearQuest |
| Headquarters | United States |
| Products | Software version control, configuration management, change management |
| Parent | IBM |
Configuration Management Version Control (CMVC) is a software solution developed by IBM that serves as an object repository, delivering capabilities for software version control, configuration oversight, and change management.
Architecture
- CMVC is built on a client-server framework, providing both command-line and graphical interfaces compatible with multiple platforms, while its servers run on a variety of Unix operating systems.
- It employs a relational database to maintain metadata, whereas file version histories are handled by external Source Control Managers such as Source Code Control System (SCCS) or PVCS. In SCCS, filenames correspond to numeric identifiers recorded within the database.
Concepts
- Files are grouped into Components that form a directed graph structure, allowing multiple parent relationships. These Components logically organize files independently from their physical directory locations.
- Access permissions are controlled at the Component level, facilitating distributed administration and delegation of permission management.
- A Release defines a collection of files sharing a common root; Releases can share files with others through "linking," which may reference either the most recent ("tip") or specific versions of files.
- Levels represent snapshots of file states, akin to tags in other systems. When operating in "binding mode," Levels contain only approved file versions associated with Defects and Features, emphasizing validated modifications rather than the latest iterations.
Features
- The system integrates defect tracking that mandates associating defects with file check-ins when enabled.
- Levels support grouping defects, allowing project managers to concentrate on sets of changes rather than individual file updates.
- Distributed administration capabilities enable delegation, which is advantageous for large-scale development teams.
- File history is preserved through renaming due to the use of numeric filenames on disk combined with flexible naming in the database.
- Files can be shared among multiple source code Releases.
Weaknesses
- Initially, CMVC relied exclusively on locking for file access control—a common practice at the time but now considered a major drawback. Recent versions have enhanced this by adding support for concurrent development, conflict resolution, and merging.
- The dependence on a centralized server limits offline work. Similar to most remote source control systems, users must synchronize with the central server to submit changes, restricting true disconnected operation.
History
Distributed and marketed by IBM during the mid-to-late 1990s, CMVC partially originated from HP software combined with IBM’s internal IDSS tools. Throughout that decade, it was utilized for managing source code on IBM OS/2 and AIX platforms.
Following IBM’s acquisition of Rational Software, support for CMVC ceased as its functionalities were superseded by Rational ClearCase and ClearQuest. Despite this, some users remained active with CMVC as late as 2008.