我正在使用Visual Studio编辑源代码,有一段时间我切换到Windows资源管理器以使用TortoiseSVN提交更改。这个程序对我很有用,我很满意。但是,最近我开始重命名类并重新组织命名空间。我喜欢在Visual Studio中重命名和移动文件,因为它会自动为我更新项目文件。但是,当我提交更改时,我必须告诉TortoiseSVN删除了旧文件并添加了新文件,这不是真的,它打破了特定代码的历史记录。
所以我的问题是:当我在Visual Studio中重命名文件时,有没有办法告诉TortoiseSVN我这样做是为了保存文件历史记录?
更新(16:30): Ankhsvn似乎是明显的答案,但我喜欢他们现在的事情。这听起来很奇怪,但我喜欢TortoiseSVN没有集成到Visual Studio中。这可能是因为我总是在我的辅助监视器上打开文件管理器时设置了两个监视器。也许是因为我发现解决方案资源管理器有点笨重。也许是因为我喜欢将代码编辑和修订控制视为软件开发的单独步骤。我不知道。
答案 0 :(得分:31)
如果您有更新版本的TSVN(我认为在1.5.0之后),您可以使用“repair moves”功能。我一直都在使用这种情况。
答案 1 :(得分:7)
看看http://ankhsvn.open.collab.net/。它会查找这些内容并适当地处理更改,并直接在解决方案资源管理器中向您显示已更改的内容。另外,您无需返回资源管理器!我非常喜欢它!
没有理由阻止文件历史记录。这就是源代码控制系统的重点。
答案 2 :(得分:3)
答案 3 :(得分:0)
也许你可以为svn的visual studio使用 ankhsvn 插件
或者有像这样的插件
答案 4 :(得分:0)
没有。你应该在TortoiseSVN(即文件浏览器)中进行所有文件移动/重命名。
Visual Studio的SVN插件可能会执行您想要的操作。
答案 5 :(得分:0)
AFAIK,当您使用TortoiseSVN在源控件的边界内重命名文件时,它会删除并将重命名的文件添加为新文件。
提交父文件夹
因为重命名和移动是作为一个完成的 删除后跟添加[...]
答案 6 :(得分:0)
我不知道你怎么做你所问的,但我认为如果你开始使用AnkhSVN,你可以解决你的问题。
这是一个很好的工具,可以将Subversion集成到Visual Studio中,您可以从VS IDE进行提交。