7

我们正在使用 VisualSVN 进行 Visual Studio 集成从 SourceGear Vault 切换到 TortoiseSVN - 非常喜欢它。但是,我们在多个不同的应用程序中引用了多个类库,这些类库不属于任何应用程序的工作副本根目录。处理这个问题的最佳方法是什么,以便我们可以继续利用 Visual Studio 集成,但仍将各种类库保留在每个项目/应用程序的根目录之外?SourceGear 对此没有任何问题。

可以仅在资源管理器中使用 TortoiseSVN 单独添加类库,但无法从 Visual Studio 中提交对工作副本之外的任何内容的更改;在工作副本类库之外也没有指示这些状态的 VisualSVN“交通灯”。

顺便说一句,我们也将采用“一个存储库和多个项目”的路线,而不是多个存储库,尤其是我们多年来一直这样做的方式。

更新:

我重新阅读了一些我之前看过的东西,发现 svn:externals 不仅仅指在不同的存储库中使用代码,还可以用于在 VisualSVN 中使用多个工作副本。

请参阅http://www.visualsvn.com/support/topic/00007/http://svnbook.red-bean.com/en/1.2/svn.advanced.externals.html

然而,这是处理这个问题的最好方法吗?有一个很好的线索可以贯穿事情,但不能完全解决事情。

因此,是否使用 svn:externals?是否使用多个存储库?同样,多年来,我们在多个解决方案/应用程序中引用了共享类库中的代码,这对我们有用。现在如何最好地使用 VisualSVN 进行这项工作?

4

2 回答 2

4

在这里找到最佳答案:

参考项目

有时构建一个由许多不同的结帐组成的工作副本很有用。例如,您可能希望不同的子目录来自存储库中的不同位置,或者可能完全来自不同的存储库。如果您希望每个用户都有相同的布局,您可以定义 svn:externals 属性。

这里:

包括一个共同的子项目

有时你会想在你的工作副本中包含另一个项目,也许是一些库代码。您不想在存储库中复制此代码,因为那样您将失去与原始(和维护)代码的连接。或者,也许您有几个共享核心代码的项目。至少有3种方法可以解决这个问题。

于 2008-10-02T19:15:00.217 回答
2

我知道你问这个问题已经十多年了,但我很高兴地告诉你,在 VisualSVN 插件中实现对多个工作副本的支持方面取得了进展。

VisualSVN 7.1 和 6.5在一个解决方案中支持多个工作副本Visual Studio 20192017用户可以使用新功能。

从主下载页面下载最新的 VisualSVN 版本。另请参阅文章KB7:在 VisualSVN 中使用多个工作副本

于 2019-06-18T15:18:49.803 回答