我正在尝试添加图像,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.jpgURL。

按下
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)。附加参考: