2010-11-25 71 views
0

我在与外部引用的svn项目,例如保护SVN的外部

 
- myproject 
| 
|--------stuff1 
|--------stuff2 
|--------external-lib // svn::external 

我需要添加一个文件(Makefile文件)的外部lib目录里面,我想commint这里面存储库(myproject),而不是外部的。不要修改外部存储库非常重要。可能吗?我想使用外部存储库的头版本。

+0

外部svn路径,它包含文件,或只是目录? – jgifford25 2010-11-29 19:51:57

回答

1

我建议将Makefile直接存储到myproject中。完全的外部:然后你就可以从外部的lib使用

make -f ../Makefile.external 
0

你想要什么是不可能的,除非你在你自己创建外部存储库的一个分支,沟SVN运行它。当然,这意味着你必须自己维护外部库的更新(通过合并(这可能相对容易实现自动化,因为除了添加此文件以外不需要修改任何内容)。

也就是说,马丁的解决方案似乎是在你的情况阻力最小的路径...

0

基于你的问题下的响应,以我的意见,如果你的服务器和客户机使用Subversion 1.6.x版, 你可以这样做。在Subversion 1.6.x中,文件外部支持现在可用。因此,对于包含在svn :: external路径中的每个文件和目录,您需要在myproject目录的svn:externals属性中创建并输入。

,当svn:externals属性会是这个样子:这里的外部:

^/external-lib/file1 file1 
^/external-lib/directoryA directoryA 
^/external-lib/file2 file2 
^/external-lib/directoryB directoryB 

您可以阅读更多有关SVN http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html

现在,只要外部lib和MYPROJECT 中存在同一个存储库,工作副本将允许您提交对external-lib中文件和目录的更改。