复制外部Subversion存储库以保持依赖关系

时间:2010-06-06 02:07:50

标签: svn dependencies

我希望在我们自己的存储库中保留项目的依赖关系,这样我们就可以为整个团队提供一致的库。例如,我希望我们的项目使用Boost库。我已经看到过这样做,将依赖项放在“vendor”或“dependencies”文件夹下。

但我仍然希望能够更新这些依赖项。如果库中出现了一个新功能而我们需要它,我希望能够在我们自己的存储库中更新该存储库。我不想重新复制它并再次将其置于版本控制之下。如果需要进行小的更改而不阻止我们更新库,我也希望我们能够更改依赖关系。

我希望能够做'svn cp'这样的事情,然后能够'svn merge'在未来。我只是尝试使用boost trunk,但是我无法在我制作的副本上使用'svn log'获得任何历史记录。

我该怎么做?通常对具有依赖项的大型项目执行什么操作?

3 个答案:

答案 0 :(得分:2)

您还可以考虑在依赖项或vendor或third_party目录中使用svn:externals属性。然后,您可以将依赖项/ boost目录中的svn:externals属性设置为http://transact.dl.sourceforge.net/project/boost/boost/1.43.0/boost_1_43_0.zip或类似,并在结帐时自动下载到您的依赖项目录中。如果要升级库,只需更改svn:externals属性。

答案 1 :(得分:1)

你可以继续使用SVN。 Vendor Branches解决了这个问题。

以下是类似的topic

答案 2 :(得分:0)

你有没有看过SVK?它会在svn之上构建分布式功能,例如您要询问的功能。