我有这样的SVN结构:
/Projects /Project1 /Project2 /someFolder /Project3 /Project4
我想将所有项目移动到/ Projects文件夹中,这意味着我想将项目3和4从/ someFolder移动到/ projects文件夹中.
警告:我想保留完整的历史.我假设每个客户端都必须再次检查新位置的内容,这很好,但我仍然想知道最简单的方法是移动目录而不会完全破坏历史记录?
Subversion 1.5如果重要的话.
svn help rename
在subversion中移动/重命名可保持历史记录不变.
svn move SRC DST
$ svn move -m "Move a file" http://svn.red-bean.com/repos/foo.c http://svn.red-bean.com/repos/bar.c
svn move将保留您的历史记录.
Tortoise SVN支持'右键'移动.使用"鼠标右键单击"将源文件/目录拖动到目标中时,将出现上下文菜单.您可以选择适当的菜单选项进行复制/移动/移动重命名等.此选项也将保留历史记录.
注意:在Tortoise SVN中有一个名为"修复移动"的好功能 - 通过使用此功能,您可以在移动文件/目录时重命名该文件/目录.(有关详细信息,请参阅文档)
如果使用svn move命令将Project 3移动到项目文件夹中,将为Project 3文件夹保留历史记录,但有趣的是,Projects文件夹不会显示在将Project 3移动到Projects之前创建的Project 3的历史记录.
我发现这令人困惑,我认为文件夹会在层次结构中显示所有历史记录,但似乎情况并非如此(仅我自己测试过)