我的开发环境是 Visual Studio 2010,安装了 Resharper 5.1.3000.12 和 AnkhSVN 2.1.10129.17。
我的理解是,当对文件执行 Refactor->Move 命令时,Resharper 应该通知 AnkhSVN(或 VisualSVN 等),以维护文件上的 SVN 历史记录。但是,当我通过 Visual Studio 中的解决方案资源管理器进行这样的重构时,AnkhSVN 将文件 move 视为删除/添加,从而丢失了该文件的 SVN 历史记录。事实上,Ankh 甚至没有添加新版本的文件,它只是删除旧的,我必须在提交之前手动“添加”新版本。
但是,如果我通过解决方案资源管理器执行 Ctl-X、Ctl-V 来 move 文件,Ankh 会将其检测为复制/move 并维护历史记录、自动添加新文件,并且通常会按预期运行。
这对其他人有用吗,如果是这样,您是否需要做一些棘手的事情才能让它发挥作用?我是否错过了将 AnkhSVN 与 Resharper 连接起来的设置,我是否需要任一插件的新版本,或者这可能是某种安装顺序问题? (我先安装了 Resharper,然后是 Ankh)。
最佳答案
在 ReSharper 6 发布周期中已经完成了一定数量的工作,以确保 ReSharper 的 Move 重构导致 VCS move 它们而不是删除和添加新文件。
但是,由于没有针对此功能进行全面的 QA,因此尚未将其作为 ReSharper 6 改进集的一部分宣布。
换句话说,不能保证 ReSharper 6 在您的场景中表现更好,但值得尝试升级。
关于visual-studio - Resharper 5.1 Refactor (Refactor->Move) 是否正确通知 AnkhSVN/维护 SVN 历史?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7407930/