
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
14
|
Chapter 2: Basic Concepts
In the end, it all comes down to one critical factor: user communication. When users
communicate poorly, both syntactic and semantic conflicts increase. No system can
force users to communicate perfectly, and no system can detect semantic conflicts.
So there’s no point in being lulled into a false promise that a locking system will
somehow prevent conflicts; in practice, locking seems to inhibit productivity more
than anything else.
Subversion in Action
It’s time to move from the abstract to the concrete. In this section, we’ll show real
examples of Subversion being used.
Working Copies
You’ve already read about working copies; now we’ll demonstrate how the Subver-
sion client creates and uses them.
A Subversion working copy is an ordinary directory tree on your local system, con-
taining a collection of files. You can edit these files however you wish, and if they’re
source code files, you can compile your program from them in the usual way. Your
Figure 2-5. The copy-modify-merge solution (continued)
Repository
Harry
Read
Sally
A”
A’ A” A”
Harry compares the latest version
to his own
Repository
Harry Sally
A”
A* A”
A new merged version is created
Repository
Harry Sally
A*
A* A”
The merged version is published
Repository
Harry Sally
A*
A* A*
Now both users have each
others’ changes ...