Defining a working copy

A Subversion working copy is an ordinary directory tree on your local system, containing a collection of files. You can edit these files however you wish, your working copy being your private work area. In order to make your own changes available to others or incorporate other people's changes, you must explicitly tell Subversion to do so. You can even have multiple working copies of the same project.

Figure 3.5. Working Copy View

Working Copy View

A Subversion working copy also contains some extra files, created and maintained by Subversion, to help it keep track of your files. In particular, each directory in your working copy contains a subdirectory named .svn, also known as the working copy administrative directory. This administrative directory contains an unaltered copy of the last updated files from the repository. This copy is usually referred to as the pristine copy or the BASE revision of the working copy. These files help Subversion recognize which files contain unpublished changes, and which files are out-of-date with respect to others' work.

A typical Subversion repository often holds the files (or source code) for several projects; usually, each project is a subdirectory in the repository's file system tree. In this arrangement, a user's working copy will usually correspond to a particular subtree of the repository.

Check out a working copy

Check out is the term used to describe the process of making a copy of a project from a repository into your local file system. This checked out copy is called a working copy. A Subversion working copy is a specially formatted folder structure which contains additional .svn folders that store Subversion information, as well as a pristine copy of each item that is checked out.

You check out a working copy from the Repository View. If you have not yet defined a connection to your repository, you will need to add a new repository location.

To check out a new working copy, navigate inside the repository to the desired directory, right click on it and select Check Out... from the popup menu.

In the Check out dialog click on the Browse button and choose the location where the working copy will be checked out.

Figure 3.6. Check out dialog

Check out dialog

After a check out, the new working copy will be added to the list in the Working Copy view and its content will be displayed in that view.

Depth

You can choose the depth for the checkout folder. This allows you to specify the recursion level into children. This is used if you want to check out only a portion of an working copy and then bring in a future update operation previously ignored files and subdirectories. You can find out more about checkout depth in the sparse checkouts section.

Revision

By default the last (HEAD) revision will be checked out. If you need another revision you can select the Revision radio button and then click on the History button and choose a desired revision from the new dialog. Or you can simply type the revision number in the corresponding text field.

Figure 3.7. History dialog

History dialog

The History dialog presents a list of revisions for a resource. There are presented information about revision, commit date, author and commit comment. The initial number of entries in the list is 50. Additional revisions can be added to the list using the Get next 50 and Get all buttons. The list of revisions can be refreshed at any time with the Refresh button.

The Affected Paths area displays all paths affected by the commit of the revision selected in history. On a revision selected in the Affected Paths area the contextual menu contains the actions:

Compare with previous version

Make a diff between the selected revision and the previous one. If there is no external application specified for executing diff operations the built-in diff tool is applied. This is the action also executed on double clicking on a file in the Affected Paths area.

Open

Opens the revision in the editor panel.

Save revision to ...

Save the revision to a new file.

Revert changes from this revision

The changes committed by the selected revision are reverted in the current version of the file in the working copy. If the committed changes were in fact a SVN delete operation the result is restoring the deleted file in the working copy.

Update to revision

Make the selected revision the current revision in the working copy.

Show History

Display the history of the SVN resource of the selected revision.

Show Annotation

Open the Annotations View for the selected revision.

[Note]Note

On Mac and Linux systems the ~ character can be used in the Folder field. It will be expanded to the home folder path.