我正在尝试添加图像,svn:externals
但 TortoiseSVN 以某种方式拒绝它。
目前,我在本地驱动器上有两个存储库,名为repoA
和repoB
. 还有两个名为workA
和的工作目录签出workB
。workA
是 的 结帐repoA
并且workB
是 的 结帐repoB
。
结构是这样的:
Z:\repos\repoA
Z:\repos\repoB
Z:\项目\workA
Z:\项目\workB
我做了什么:
- 右键单击
Z:\Projects\workB
->TortoiseSVN -> Properties
- 按下
New -> Externals
按下
New
,输入trunk/screenshot.jpg
本地路径和file:///Z:/repos/repoA/trunk/screenshot.jpg
URL。按下
OK
关闭所有设置窗口。- 右键单击
Z:\Projects\workB
->SVN Commit..
- 右键单击
Z:\Projects\workB
->SVN Update..
我得到这个错误:
Z:\Projects\workB\trunk\screenshot.jpg
不支持的外部:外部文件的 url
'file:///Z:/repos/repoA/trunk/screenshot.jpg' 不在存储库中
'file:///Z:/repos/repoB'
当我在 上提交新更改时workB/trunk
,它不会更新图像。所以执行SVN Update
不会workB/trunk
从 repoA 导入图像。我还导入了一个文件夹,svn:externals
并且它下的文件已正确导入。所以我怀疑无法指定单个文件。我不知道。
在回购浏览器中,真实文件不存在,只有链接文件。
里面有repoA
真实的图像文件,虽然错误说没有。
那么有可能做到吗?还是我做错了?
更新
根据这篇文章,
Subversion 1.6 还引入了对文件外部定义的支持。文件外部文件的配置就像目录的外部文件一样,并在工作副本中显示为版本化文件。
例如,假设您的存储库中有文件 /trunk/bikeshed/blue.html,并且您希望该文件(在修订版 40 中出现)在 /trunk/www/ 的工作副本中显示为 green.html .
所以 v1.6 或更高版本似乎是可能的。我正在使用svn,版本 1.7.6 (r1370777)。附加参考: