4

我已经开始设置 SVN 存储库来存储我的代码,并且想知道单个 Visual Studio 解决方案是否可以包含来自多个存储库的项目。我有一个共享库,其中包含不同的帮助函数、通用自定义控件等,供多个项目使用,并托管在自己的存储库中。然后我有我的项目存储库,其中包含所有特定于程序的代码,例如表单等。我知道我可以将共享库复制到程序的存储库中,然后在我进行更改时将它们复制回来,但我更愿意将它们保存在不同的存储库中,这样我就可以点击“提交”,通用库提交到它的存储库,程序代码提交到它。我目前正在使用 AnkhSVN,但如果可以使用其他工具,我会研究它。


预先澄清所有“只使用一个存储库”的答案:共享库托管在一个在线存储库中,任何人都可以查看,但程序代码是专有的并且驻留在我们的办公服务器上,因此他们需要不同的存储库。

4

2 回答 2

3

是的,它可以,尽管您一次只能从一个存储库提交项目。实现这一点并使任何签出您的项目的开发人员可以重现它的一种方法是使用解决方案根文件夹上的 svn:externals 属性从其他存储库中提取项目。

要编辑或添加此属性,您可以使用 svn 命令行或TortoiseSVN。您可以在Subversion 红皮书中找到有关 svn:externals 属性本身的更多详细信息。

于 2010-06-10T14:10:42.070 回答
0

正如大卫所说,这是可能的。

我想补充一点,拥有多个存储库不仅会剥夺原子提交的能力,而且您将无法将项目及其依赖项分支/标记到单个标记或分支中。出于这些原因,我不建议使用多个存储库。

于 2010-06-10T21:33:10.357 回答