
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
245
Appendix A
APPENDIX A
Subversion for CVS Users
This appendix is a guide for CVS users new to Subversion. It’s essentially a list of dif-
ferences between the two systems as viewed from 10,000 feet. For each section, we
provide backreferences to relevant chapters, when possible.
Although the goal of Subversion is to take over the current and future CVS user base,
some new features and design changes were required to fix certain broken behaviors
that CVS had. This means that, as a CVS user, you may need to break habits—ones
that you forgot were odd to begin with.
Revision Numbers Are Different Now
In CVS, revision numbers are per file. This is because CVS uses RCS as a backend;
each file has a corresponding RCS file in the repository, and the repository is roughly
laid out according to the structure of your project tree.
In Subversion, the repository looks like a single filesystem. Each commit results in an
entirely new filesystem tree; in essence, the repository is an array of trees. Each of
these trees is labeled with a single revision number. When someone talks about revi-
sion 54, they’re talking about a particular tree (and, indirectly, the way the filesys-
tem looked after the 54th commit).
Technically, it’s not valid to talk about revision 5 of foo.c. Instead, one would say
foo.c ...