移动目录与历史

Mic*_*tum 62 svn

我有这样的SVN结构:

/Projects
    /Project1
    /Project2
/someFolder
    /Project3
    /Project4
Run Code Online (Sandbox Code Playgroud)

我想将所有项目移动到/ Projects文件夹中,这意味着我想将项目3和4从/ someFolder移动到/ projects文件夹中.

警告:我想保留完整的历史.我假设每个客户端都必须再次检查新位置的内容,这很好,但我仍然想知道最简单的方法是移动目录而不会完全破坏历史记录?

Subversion 1.5如果重要的话.

Apo*_*isp 55

svn help rename
Run Code Online (Sandbox Code Playgroud)

在subversion中移动/重命名可保持历史记录不变.


Gee*_*cko 42

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将保留您的历史记录.


Abh*_*ash 12

Tortoise SVN支持'右键'移动.使用"鼠标右键单击"将源文件/目录拖动到目标中时,将出现上下文菜单.您可以选择适当的菜单选项进行复制/移动/移动重命名等.此选项也将保留历史记录.

注意:在Tortoise SVN中有一个名为"修复移动"的好功能 - 通过使用此功能,您可以在移动文件/目录时重命名该文件/目录.(有关详细信息,请参阅文档)

  • 想知道为什么这个答案没有得到更多的支持。这比修改命令行或存储库浏览器进行小动作要容易得多。 (2认同)

Sim*_*olm 5

如果使用svn move命令将Project 3移动到项目文件夹中,将为Project 3文件夹保留历史记录,但有趣的是,Projects文件夹不会显示在将Project 3移动到Projects之前创建的Project 3的历史记录.

我发现这令人困惑,我认为文件夹会在层次结构中显示所有历史记录,但似乎情况并非如此(仅我自己测试过)