next up previous contents
Next: 6.5 Code Releases Up: 6 CASE Tools Previous: 6.3 External Code Generators

6.4 Code Version Management

Managing large scale software projects requires that many developers are working on the same source code concurrently. Therefore different versions of source files must be kept consistent in a common code repository, and tools to merge the changes of different developers into the resulting code are required[Win88, Har89, War94]. Conflicts in the source code must be handled automatically whenever possible.

VMake uses CVS[Gru92, Ced93], which is based on RCS[Tic85]. This allows multiple developers to work on the same source code. Since VMake handles all dependences for each project it knows which files are required to be under CVS control so that a project can be rebuilt after checking out the sources from the common code repository. VMake scans the internal control files of CVS in the specific subdirectory of each managed directory. This information is compared to the actual status of the local files, and in case of a difference a user interaction is requested. A modification comment is inquired for any modified file during check-in and an additional adding comment for new files. This enforces a full history for files under version management. VMake also has the capability to update the sources per project base from the CVS repository. In this case information is displayed for updated, modified and removed files. Files can be removed from the repository if they are no longer required for the project. If there is a conflict in merging the latest changes from the repository with the local source code which cannot be solved automatically, a warning will be issued by VMake. In this case the developer has to examine the code and decide which part to use. The conflicting area is marked in the source code with angle brackets (`>>>' and `<<<').

An interface to other code version management system than CVS can also be added to VMake, e.g., for SCCS[Roc75] under UNIX or CMS[Dig93] under VMS.


next up previous contents
Next: 6.5 Code Releases Up: 6 CASE Tools Previous: 6.3 External Code Generators

IUE WWW server
Fri Jan 3 17:00:13 MET 1997