2010-06-10 54 views
4

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


抢先澄清了所有的“只使用一个存储库”的答案:共享库托管在一个在线资源库,任何人都可见,但程序代码是专有的,驻留在我们的办公室服务器,所以需要不同的储存库。

回答

3

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

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

+0

我对SVN很新颖 - 你能给我多一点指导吗?我是否通过VS将'svn:externals'添加到.sln或通过其他工具?那我该如何拉入其他项目呢?我看到的唯一选择是在新解决方案中开放其他项目。 – dlras2 2010-06-10 14:16:46

+0

编辑的答案包括一些细节。 – 2010-06-10 14:24:53

+0

我通过AnkhSVN将项目添加到Visual Studio中仍然存在问题。 – dlras2 2010-06-10 14:59:04

0

就像大卫说的,这是可能的。

我想补充说的是,拥有多个存储库不仅会消除自动提交的能力,而且也无法将项目及其依赖项分支/标记为单个标记或分支。由于这些原因,我不建议使用多个存储库。

相关问题