Home About Subversion Key concepts Working copies

Working copies

It's where you do the work

A working copy is a local checked out copy of a repository. Where a repository offers access to files and folders for every revision, a working copy behaves just like a normal folder on your hard disk that contains one particular revision of these items. You can use any application to modify the items in a working copy, just like you can in any other folder. Subversion keeps track of which file in the working copy belongs where in a repository, so when you create a new file in your working copy, it will initially be seen by Subversion as an unversioned item. When you delete a file or folder from your working copy, Subversion will see it as missing.

Adding and deleting files

To actually add a new (unversioned) file or folder to your repository, you first schedule it for addition. When you commit your changes, the item will be added to the repository, creating a new revision. To delete a file, you schedule it for deletion and commit your changes. Because Subversion keeps track of previous revisions, you can always retrieve deleted files, as long as they were once part of the repository.

Normally you’ll just delete a file from your working copy and it will show as missing in Versions, making it easier to spot which file you wanted to get rid of.

Everything is explicit

To store any kind of change in your repository, you need to explicitly tell Subversion to do so. Versions make this easier by letting you clearly see, review and then commit all changes in your working copy at once. You will still have to add or delete files explicitly for them to show up in, or be removed from, the repository when you commit.