I am using eclipse / subclipse for development. I also have the TortoiseSVN client.
I am trying to move a CVS repository. The old CVS repository had a single project. We want to reogranize as several of the projects have their own development streams, and should be managed separately.
I ran the standard full move of the repository using cvs2svn, and had no issues.
I want to restructure the projects in the subversion repository, so after the cvs2svn, I attempted to do an svn move and did the restructuring. I was able to successfully do the move, again no issues.
I check out the project in eclipse, and then choose a file in one of the moved projects. It seemingly doesn't matter which project. If I do an Update Version in eclipse, and choose a version in the file's history to update to, the file is deleted from my filesystem, but the older version never comes down. The file is simply gone.
I have the same issue using TortoiseSVN, so I assume that it is not a subclipse issue.
The interesting thing is that if I do an svn move
of a project back to its original location where it was initially converted to, and follow the same steps, I don't have any issues, the Update Version works as expected.
So, to my question(s):
Where I work, we've decided to move the files in SVN after the import from CVS. CVS has limited history capabilities with moving, while the SVN repository can be "rolled back" to see what it looked like at any time. Again, by doing this, the decision was made that retaining a history of all the changes and moves was more important.
What we've done is move the module from CVS into SVN as is. Then, using the repository browser, move all the files as needed, before a check-out.
Now, this doesn't address your problem when you update an individual file to an older version that it may disappear. We've decided to live with this, because we're trying to move away from a file-centric view of the repository (CVS) to a snapshot-based one. So if we need to go back to an older version, we update the whole project. If you're just looking at the diff history, that works well from TortoiseSVN when we allow moves/renames.