I am attempting to move a file to another folder inside a TortoiseSVN repository, and the revision history is not being preserved. I have tried moving the files using the Repo-browser (right-click drag the files and select "Move items to here") as well in the working folder (right-click drag, select "SVN Move versioned files here," and commit the parent folder). In both cases the history is not preserved. I have read the TortoiseSVN manual as well as some other posts from people and am postitive those are the ways to do it. Am I missing something?
3 Answers
Subversion and TortoiseSVN absolutely do preserve the file history. (It is one of the fundamental aspects of SVN.)
Two key points (which you already seem to be aware of):
You have to use the SVN move/copy/rename commands. Otherwise, SVN won't be able to know they are the same file.
When looking at the log for moved/copied/renamed, you have to make sure the "Stop on copy/rename" option is unchecked. Otherwise, the log will only go back so far.
Now, keep in mind that you need to be looking at the log for something that actually was moved/copied. Look at the log of the file that was copied. Don't look at the log of the directory you copied it from, or the directory you copied it to.
The page with the answer has been removed from TortoiseSVN help docs: http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-rename.html>
But still exists in Google cache:
If you want to move files around inside your working copy, perhaps to a different sub-folder, use the right mouse drag-and-drop handler:
select the files or directories you want to move
right drag them 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