单个解决方案可以保存来自多个存储库的项目吗?

时间:2010-06-10 14:07:30

标签: .net svn visual-studio-2010 ankhsvn

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


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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

像大卫一样说这是可能的。

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