将 .net 解决方案的子项目分别签入 SVN

Checking in subprojects of .net solution individually to SVN

我们目前有一个由大约 40 个项目组成的大型 C# 解决方案。

另一个客户的第二个解决方案几乎是相同的,并且使用许多相同的项目,其中一些被省略,一些在第一个解决方案中不存在。

为了使代码版本控制更易于管理,我想将 SVN 解决方案中包含的每个项目作为单独的项目签入,但是我尝试过的 none SVN 客户端似乎无需手动添加即可支持此功能每个项目依次。

期望的结果是:

1) 打开客户端A的解决方案,对普通项目进行修改 2) 提交更改,然后关闭解决方案。 3) 打开客户端 B 的解决方案。在“1”中所做的更改在客户端 B 解决方案中可用。 4) 对特定于客户 B 的项目进行更改。提交后,“1”中的更改不会显示为待处理。

我已经尝试过 AnkhSVN 和 VisualSVN,但在这两种情况下,选择项目和 运行 Add selected projects to Subversion 让我可以选择添加根解决方案,但不能单独添加项目。

我设法得到的最接近的是 Tortoise,但这涉及到手动添加每个项目,这对于这么多源项目来说不是一个可行的选择。

编辑:如建议的那样,使用通用解决方案和两个单独的客户端特定解决方案将解决将代码提交给 SVN 的问题,但需要针对必须提前编译的 DLL 进行编译。

我们最初尝试过这种方法,但由于 VS 有时无法正确重新加载 DLL,我们在调试时遇到了问题。

我不确定是否可以使用自动化过程以这种方式添加项目,但在我硬着头皮编写一些代码来执行此操作之前,欢迎提出建议。

非常感谢。

在这种情况下,我会推荐 3 个完整的解决方案:

  1. 客户端A解决方案
  2. 客户端 B 解决方案
  3. 常见的解决方案

每个都可以由自己的存储库支持。现在您可以将您的通用代码发布为一组 dll(或者您可以通过设置私有 Nuget 服务器并将您的通用解决方案转换为 Nuget 包来获得乐趣)并从客户端解决方案中引用它。