Copy / Move / Rename resources

Copy resources

You can copy several resources from different locations of the working copy. You select them in the Working Copy View and then you initiate the copy command from the context menu. This is not a simple file system copy but a Subversion command. It will copy the resource and the copy will also have the original resource's history. This is one of Subversion's very important features, as you can keep track of where the copied resources originated.

Please note that you can only copy resources that are under version control and are committed to the repository or unversioned resources. You cannot copy resources that are added but not yet committed.

Figure 3.15. Copy files dialog

Copy files dialog

In the Copy File(s) dialog you can navigate through the working copy directories in order to choose a target directory. If you try to copy a single resource you are also able to change that resource's name in the corresponding text field.

If an entire directory is copied the Override and update action will be enabled only for it and not for its descendants. In the Synchronize view and the Commit dialog will appear only the directory in question without its children.

Move resources

As in the case of the copy command you can perform the operation on several resources at once. Just select the resources in the Working Copy View and choose the Move command from the context menu. The move command actually behaves as if a copy followed by a delete command were issued. You will find the moved resources at the desired destination and also at their original location but marked as deleted.

Rename a resource

The rename action can be found in the context menu in the Working Copy View. This action can only be performed on a single resource. The rename command acts as a move command with the destination being the same as the original location of the resource. A copy of the original resource will be made with the new name and the original will be marked as deleted.

[Note]Note

Because the rename and move commands act as a copy followed by delete, when you want to commit a renamed or moved resource you must also commit the deleted original. It is also recommended that you commit the renamed or moved resources before changing their contents in order to avoid difficulties in resolving conflicts.