外部目录上的Svn外部

时间:2012-01-20 19:21:19

标签: svn svn-externals

我在项目中有这个svn:external文件:

Silex https://github.com/fabpot/Silex/trunk
Silex/vendor/Symfony/Component/BrowserKit https://github.com/symfony/BrowserKit/trunk
Silex/vendor/Symfony/Component/ClassLoader https://github.com/symfony/ClassLoader/trunk
Silex/vendor/Symfony/Component/CssSelector https://github.com/symfony/CssSelector/trunk
Silex/vendor/Symfony/Component/DomCrawler https://github.com/symfony/DomCrawler/trunk

当我在外部目录中执行svn update时,我收到此svn错误:svn: warning: Unable to lock 'Silex/vendor/Symfony/Component'

有一种方法可以将svn:external签出到另一个svn:external所拥有的目录中吗?

2 个答案:

答案 0 :(得分:1)

不,这是不可能的。阅读SVN红皮书中的"Externals Definition"部分。你会在那里找到以下通知:

  

外部定义的相对目标子目录不得   已存在于您或其他用户的系统上 - Subversion将创建   当它检出外部工作副本时。

但是,应该可以使用这样的外部定义:

 Silex/product https://github.com/fabpot/Silex/trunk
 Silex/vendor/Symfony/Component/BrowserKit https://github.com/symfony/BrowserKit/trunk
 ...

因此,svn:externals创建的目录不会因创建其他外部目录而存在。

答案 1 :(得分:0)

我认为你想要做的是在fabpot / Silex / trunk repo中声明Component externals而不是这个repo。