Deleting/Renaming files and directoriesThis information is from TortoiseSVN Help
Subversion allows the renaming and moving of files and folders, which can be done from the TortoiseSVN
submenu (see image below):
Below lists the general instructions on how to delete or move files. It is advised, however, that you consult the TortoiseSVN Help for precise information on deleting files.
Where possible, always use TortoiseSVN -> Delete to delete files, so Subversion
doesn't have to guess what you really want to do.
The following describes the numerous ways of deleting files, (and the muddle you can get in if you don't use TortoiseSVN -> Delete!)
Marked for deletion:If you delete a file/directory using TortoiseSVN, the file is removed from your working copy and marked for deletion with the icon.
Retrieving a file:You can always get the file back using TortoiseSVN -> Revert on the parent folder.
Moving files:If you want to move files inside a working copy, use the drag-and-drop handler:
- Select the files or directories you want to move.
- Right-drag the files to the new location inside the working copy.
- Release the right mouse button.
- In the popup menu, select Context Menu-> SVN Move versioned files here.
- You should not use the TortoiseSVN Move or Rename commands
on a folder which has been created using svn:externals.
This action would cause the external item to be deleted from its parent repository.
If in doubt, seek advise from a pagemaster
Ooops, I deleted via explorer not TortoiseSVNIf a file is deleted via the explorer instead of using the TortoiseSVN Context Menu, the commit dialogue box will display these files and and allow you to remove them from version control before the commit.
If a folder is deleted in this way, your working copy will be broken and you will be unable to commit.
If you update your working copy, Subversion will replace the missing folder with the latest version from the repository and you can then delete it the correct way using TortoiseSVN -> Delete.
Ooops I updated the file without using TortoiseSVN Delete:If the working copy is updated, Subversion will find the missing file and replace it with the latest version from the repository.
Where possible, always use TortoiseSVN -> Delete to delete files, so Subversion doesn't have to guess what you really want to do.
Commiting a parent folder:You must commit a folder rename before changing any of the files inside the folder, otherwise your working copy will become filled with old and new copies of the same file.
This is because Subversion runs a delete command followed by an add command.
If you don't commit the changed parent folder to show a deletion, it will stay behind and the new version will be added to it.
This will mean that other authors won't know which is the correct version.
Getting a deleted file or folder backIf you have not committed a delete operation to the repository, then use TortoiseSVN -> Revert to retrieve the file.
If you have already committed the deletion:
- Use the log dialogue box to find out the revision of your file
- Open the repository browser and switch to that revision
- Right-click the file or folder you deleted and select Context Menu > Copy to... as the target for that copy operation
- Select the path to your working copy.