12

我正在使用带有 Resharper 5、TortoiseSVN 1.6.8.19260-x64 和 AnkhSVN 2.1.8420.8 的 VS2008/VS2010。我在 Visual Studio 中执行的大多数操作在 SVN 中都能很好地反映,但是,当我尝试提交更改时,重命名项目中的文件夹可能会导致问题。此外,重命名文件夹下的 C# 源文件中的所有命名空间都需要更新以反映名称更改。

重命名主项目文件夹或任何子文件夹并确保 SVN 没有问题的最佳方法是什么?应该在 Visual Studio 之外完成吗?

更新所有命名空间更改的最佳方法是什么?搜索/替换是唯一的方法吗?

是否有关于文件夹名称及其内容的最佳实践?

4

4 回答 4

5

是的,在 Visual Studio 之外重命名。

在 Windows 资源管理器中使用 TortoiseSVN,通过相关文件夹上的 TortoiseSVN 上下文菜单进行重命名。Visual Studio 中的项目将检测磁盘上的更改并要求您重新加载。

您还可以在 Visual Studio 中从项目中排除,然后重命名并重新包含新路径。

编辑:根据下面的@Sander Rijken,AnkhSVN 跟踪重命名并确保重命名在 svn 工作副本中正确注册。
如果你除了 TortoiseSVN 之外还没有安装 AnkhSVN,虽然这不起作用,你必须按照我上面所说的去做。

于 2010-05-16T21:56:08.103 回答
3

Agent SVN插件实现了MS -SCCI接口,允许它与 Visual Studio 集成。

由于MS-SCCI定义了文件重命名操作,这意味着代理 SVN 可以从 IDE 中进行文件重命名,任何也实现MS-SCCI的插件也应如此。

于 2011-12-29T13:47:18.263 回答
3

运行 AnkhSvn 时,您应该能够在 Visual Studio 中重命名文件夹。此外,当使用 Resharper 等重构工具根据新文件夹名称更改命名空间时,一切正常。

于 2010-06-10T21:38:36.850 回答
0

当必须执行文件夹重命名时,我通常会首先使用 tortoiseSVN 重命名文件夹,然后在 VS 中排除/包含文件夹,最后重命名所有命名空间(使用 Resharper,只需逐个文件和 Alt+Enter( ing) 在命名空间指令上进行适当的重命名。

于 2010-05-16T21:57:14.507 回答