【发布时间】:2011-04-14 19:09:30
【问题描述】:
所以我使用 svn:externals 来签出一个外部 repo。外部仓库有自己的 svn-externals 设置。
现在,当更新我的项目的工作副本时,来自外部 repo 的文件正在更新,但它的外部文件没有。这种行为是否符合设计,是否可以扩展以更新外部依赖项?
【问题讨论】:
标签: svn
所以我使用 svn:externals 来签出一个外部 repo。外部仓库有自己的 svn-externals 设置。
现在,当更新我的项目的工作副本时,来自外部 repo 的文件正在更新,但它的外部文件没有。这种行为是否符合设计,是否可以扩展以更新外部依赖项?
【问题讨论】:
标签: svn
从 Subversion1.5 开始支持递归检出,如 thread illustrates。
"Version Control with Subversion" book 确实提到了 svn checkout、svn update、svn switch 和 svn export 命令能够在外部存储库中递归,但是:
update”都不会更改其中的任何文件。但请注意,不要以导致问题的微妙方式无意中修改外部工作副本。
例如,虽然外部定义可能指定外部工作副本应保存在特定修订号,但如果您直接在外部工作副本上运行svn update,Subversion 将强制执行,现在您的外部工作副本是与主要工作副本中的声明不同步。
所以也许这两种情况之一适用于此。
OP Carsten 报告:
它现在实际上正在工作。
我已经在外部项目的根节点上设置了 externals 属性(比如说项目'
lib')。
在我的具体项目(项目'A')中,外部是在'lib'(即myLocalFolder > lib/someFolder)的子文件夹中定义的。
这似乎是颠覆没有递归到lib的外部的原因;只查看了“someFolder”内部,没有在那里找到外部定义,所以它没有检出someFolder/externalLib。
现在,在“lib”中,我更改了外部定义,以便在“A”中引用的文件夹中定义它们;现在就像一个魅力!
【讨论】: