2013-02-28 77 views
1

我有一个SVN存储库,其中包含几个不同的项目。将SVN Checkout库导入子文件夹

  • 项目A
  • 项目B

两个项目A和项目B共享相同的库。我想是能够检出的文件,比如我的文件夹结构出现

  • 项目A
  • ---库
  • 项目B
  • ---库

是它可能将projecta作为SVN项目,将libs文件夹签出到子文件夹中?我假设我可以对库进行更改,检查它,然后使用库更新所有项目?我真的更喜欢不必对项目外的库进行更改,然后在每次我想要将它们集成时都将其复制(这是一个PHP项目)。

回答

3

乌龟SVN帮助有including a common sub-project一些选项:

  • 的外部
  • 嵌套的工作副本
  • 其他的选择,我认为不太相关您的问题

我知道你可能不会使用Tortoise SVN,但很多概念仍然适用。

如果你去的外部路由,you should consider using explicit revision numbers

你应当认真考虑在所有外部定义中使用明确的修订版本,如上所述。这样做意味着您可以决定何时提取外部信息的不同快照,以及确切获取哪个快照。除了不会被第三方存储库的更改感到惊讶的常识外,您可能没有任何控制权,使用显式修订版本号也意味着,当您将工作副本备份到先前的修订版时,外部定义将还原为他们在先前修订版中查找的方式,这反过来意味着外部工作副本将更新为与您的存储库在之前的修订版中时查看的方式相匹配。对于软件项目,这可能是复杂代码库的旧版快照的成功和失败构建之间的差异。

+0

这是有道理的提到这个SVNBook章:http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html – bahrep 2013-03-01 15:07:43

+0

@bahrep - 我已经GOOGLE了它,但想出了v1.0链接。它似乎没有提供很多信息,所以我没有包括它。尽管你的链接看起来不错! – 2013-03-01 15:11:05

+0

非常感谢您的回答。 Externals完全是*我所需要的,并且我已经融入了项目。到目前为止,它运行良好,已经减少了实现我所需要的时间。荣誉。 – Jason 2013-03-01 22:38:32