Most forgotten feature

TortoiseSVN has many features. Most of the time, you won't need all the features it has but only a few, depending on the projects you work on. But there are some features which you would use if you only knew they were there.

Now you might say that if a feature is not obvious right away, and so hidden so that you don't even know it is there, then the UI should be improved to make that feature more obvious. And you are right.

But sometimes it is not possible to do that, or we simply don't know how.

This is one of those situations:

Right drag

In the Windows explorer, it is possible to move/copy files not only by dragging them with the left mouse button, but also with the right mouse button. The difference is that the left-drag executes the operation immediately, and the right-drag will first show you a context menu where you can choose the operation.

TortoiseSVN adds some of its commands to that right-drag context menu. The screenshot below shows the menu when you drag unversioned files/folders on to a versioned folder:

The right-drag context menu when dragging unversioned items onto a versioned folder

As you can see in the screenshot, TortoiseSVN allows you to add the files/folders to the working copy. This first moves or copies the files to the working copy, then does an "SVN Add".

The entry "Apply patch" only shows up if you drag a *.patch or *.diff file onto a working copy. That command will open up TortoiseMerge, allowing you to apply the patchfile to that working copy location.

Next is the context menu you will see if you right-drag versioned files/folders from your working copy to an unversioned folder:

The right-drag context menu when dragging versioned items onto an unversioned folder

These commands let you export your items:

  • SVN Export to here: exports the dragged files/folders to the target location, i.e. creates a copy without the .svn folders
  • SVN Export all to here: exports the dragged files/folders to the target location, including unversioned files.

And last but not least, the commands you get when you right-drag files/folders inside your working copy:

The right-drag context menu when dragging versioned items inside a working copy

These commands help you move and copy your files and folders around in your working copy:

  • SVN Move versioned files here: moves the files to the drop location. If a file already exists, it will ask you what to do (rename the file, overwrite it or cancel).
  • SVN Move and rename versioned files here: the same as 'SVN Move versioned files here', except that it will ask for a new name for every dropped file.
  • SVN Copy versioned files here: the same as 'SVN Move versioned files here' but it leaves the original file, i.e. the file is copied not moved
  • SVN Copy and rename versioned files here: the same as 'SVN Move and rename versioned files here' but it leaves the original file, i.e. the files are copied not moved

Now what are these features really good for? Well, you will know as soon as you start using them :)
Seriously: these commands are really useful if you want to reorganize your working copy, move and copy files around or if you simply want to export your working copy to another folder.