In recent years, disk space has become outrageously cheap and abundant, but network bandwidth has not. Therefore, the Subversion working copy has been optimized around the scarcer resource.
The .svn
administrative directory
serves the same purpose as the CVS
directory, except that it also stores read-only,
“pristine” copies of your files. This allows you
to do many things offline:
- svn status
Shows you any local changes you've made (see the section called “See an overview of your changes”)
- svn diff
Shows you the details of your changes (see the section called “Examine the details of your local modifications”)
- svn revert
Removes your local changes (see the section called “Fix Your Mistakes”)
Also, the cached pristine files allow the Subversion client to send differences when committing, which CVS cannot do.
The last subcommand in the list—svn
revert—is new. It will not only remove local
changes, but also unschedule operations such as adds and
deletes. Although deleting the file and then running svn
update
will still work, doing so distorts the true
purpose of updating. And, while we're on this subject…