10
votes

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
If I remember correctly (can't look it up right now), the history viewer of TortoiseSVN only shows the history up to a move or copy, and there is a check box to make it dig deeper.Thomas
Did you unmark "Stop on Copy/Rename" in your History-browser?Leonidas
Yes, and I still can't see the history.John Michaels
One thing that is different about my repository is that is was created from a backup. Could that have something to do with it?John Michaels

3 Answers

16
votes

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.

9
votes

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:

http://webcache.googleusercontent.com/search?q=cache:x7UeADC8BpwJ:tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-rename.html+&cd=4&hl=en&ct=clnk&gl=us

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

enter image description here

1
votes

I found out that after you do the SVN Move versioned files here you can get to the history as long as you select each file. If you try to view the log of the folder it will only show you the copy.