我们正在从SourceGear Vault转换到TortoiseSVN,并使用VisualSVN进行Visual Studio集成 - 我们非常喜欢它。然而,有多个类库被多个不同的应用程序引用,但这些类库都不是任何一个应用程序的工作副本根目录的一部分。有什么最好的方法来处理这个问题,以便我们可以继续利用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配合工作?