在一些重构过程中,我正在移动文件.显然,SVN将此视为删除文件并创建新文件,因为IDE不会触发SVN重命名/移动操作.但是我认为SVN服务器足够智能来检测它,但事实证明并非如此......反正并非如此.我正在使用Tortoise SVN,我正在取消选中"停止复制/重命名"按钮.
这是预期的吗?有没有办法围绕它?我应该使用Tortoise SVN shell命令移动文件,而不是让IDE执行常规文件移动吗?
另外,如果它不知道,是否可以手动强制SVN将两个文件链接为同一个实体?比如告诉它"/com/john/test.tct与/com/john/test/file.txt相同"?
sbi*_*sbi 25
SVN的方法实际上是让SVN重命名文件(svn move
或使用TortoiseSVN的"重命名").但是,如果您必须使用某些外部工具来执行重命名操作,则可以使用TortoiseSVN来修复移动操作.以下将告诉SVN新文件实际上是重命名的旧文件:
注意:我是从内存中输入的.它可能不完全正确.并且可能还有其他方法可以执行此操作(例如在资源管理器中标记文件).
如果你已经丢失了一个你错过它的文件的历史记录,你可以复活旧文件(你svn copy
通过将旧版本的版本放入旧版本),将新文件的历史记录合并到其中,然后删除新文件,以及svn move
旧文件到新文件的名称.