
Source Code Management Systems | 795
Source Code
Management
This is the Title of the Book, eMatter Edition
Copyright © 2006 O’Reilly & Associates, Inc. All rights reserved.
For example, consider two developers, dangermouse and penfold, who are both
working on whizprog.c. They each start with version 1.4 of the file. dangermouse
commits his changes, creating version 1.5. Before penfold can commit his changes,
the source code management system notices that the file has changed in the repos-
itory. penfold must first merge dangermouse’s changes into his working copy. If
there are no conflicts, he can then commit his changes, creating version 1.6. On
the other hand, if there are conflicts, he must first resolve them (they’ll be marked
in the working copy), and only then may he commit his version.
The combination of the “copy, modify, merge” model with a networked client/server
facility creates a powerful environment for doing distributed development. Devel-
opers no longer have to worry about file locks. Because the source code management
system enforces serialization (making sure that new changes are based on the latest
version in the repository), development can move more smoothly, with little danger
of miscommunication or that successive changes will be lost.
Source Code Management Systems
There are several source code management systems used in the Unix community:
SCCS
The Source Code Control System. ...