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…