我们正在使用VisualSVN从SourceGear保险库切换到TortoissesVN,以实现Visual Studio集成—绝对喜欢。但是,我们在多个不同的应用程序中引用了多个类库,它们不是任何应用程序中工作副本根的一部分。为了继续利用Visual Studio集成,但仍将各种类库保留在每个项目/应用程序根目录之外,最好的方法是什么?SourceGear对此没有问题。
仅在资源管理器中使用Tortoissesvn就可以单独添加类库,但无法从Visual Studio中提交工作副本之外的任何更改;也没有指示这些工作副本类库之外的状态的VisualVN“交通灯”。
顺便说一句,我们也采用了“一个有许多项目的存储库”的方式,而不是多个存储库,特别是我们多年来一直在这样做。
更新:
我重新阅读了一些我以前看过的东西,发现svn:externals不仅仅指在不同的存储库中使用代码,还可以用于在VisualVN中使用多个工作副本。
见 http://www.visualsvn.com/support/topic/00007/ 和 http://svnbook.red-bean.com/en/1.2/svn.advanced.externals.html
然而,这是处理这个问题的最佳方法吗?有一个 good thread 这经历了很多事情,但并不能完全解决问题。
因此,是否使用SVN:外部?是否使用多个存储库?同样,多年来,我们在多个解决方案/应用程序中引用了共享类库中的代码,这对我们很有用。现在,如何最好地使用VisualVN?
找到最佳答案 here :
引用的项目
有时,构建一个由多个不同签出组成的工作副本很有用。例如,您可能希望不同的子目录来自存储库中的不同位置,或者可能来自完全不同的存储库。如果希望每个用户具有相同的布局,可以定义svn:externals属性。
和 here :
包括通用子项目
有时,您会希望在工作副本中包含另一个项目,可能是一些库代码。您不希望在存储库中复制此代码,因为这样会丢失与原始(和维护的)代码的连接。或者您可能有几个共享核心代码的项目。至少有3种方法可以解决这个问题。