单个图像文件是SVN外部

Ten*_*eno 9 svn tortoisesvn svn-externals

我正在尝试添加图像,svn:externals但TortoiseSVN以某种方式拒绝它.

目前我在本地驱动器上有两个名为repoAand的存储库repoB.还有两个名为workAand 的工作目录签出workB.workA是结帐repoA并且workB是结帐repoB.

结构是这样的:

Z:\回购\ repoA

Z:\回购\ repoB

Z:\项目\ workA

Z:\项目\ workB

我做了什么:

  1. 右键单击Z:\Projects\workB- >TortoiseSVN -> Properties
  2. 压制 New -> Externals
  3. 按下New,键入trunk/screenshot.jpg本地路径和file:///Z:/repos/repoA/trunk/screenshot.jpgURL.

    在此输入图像描述

    在此输入图像描述

  4. 按下OK以关闭所有设置窗口.

  5. 右键单击Z:\Projects\workB- >SVN Commit..
  6. 右键单击Z:\Projects\workB- >SVN Update..

我收到这个错误:

Z:\项目\ workB \干线\ screenshot.jpg

不支持的外部:外部文件的URL

'file:/// Z:/repos/repoA/trunk/screenshot.jpg'不在存储库中

'文件:/// Z:/回购/ repoB'

在此输入图像描述

当我提交新的更改时workB/trunk,它不会更新图像.因此,执行SVN Updateon workB/trunk不会从repoA导入图像.我还导入了一个文件夹,svn:externals并正确导入其下的文件.所以我怀疑无法指定单个文件.我不知道.

在repo-browser中,真实文件不存在,只有链接文件.

在此输入图像描述

repoA有真实的图像文件,虽然错误说没有.

在此输入图像描述

那有可能吗?或者我是以错误的方式做到的?

更新

根据这篇文章,

Subversion 1.6还引入了对文件外部定义的支持.文件外部组件的配置与目录的外部组件类似,并在工作副本中显示为版本化文件.

例如,假设您的存储库中有文件/trunk/bikeshed/blue.html,并且您希望此文件(如修订版40中所示)显示在/ trunk/www/as green.html的工作副本中.

所以v1.6或更高版本似乎是可能的.我正在使用svn,版本1.7.6(r1370777).其他参考:

Tri*_*enT 11

我认为这是因为您无法在两个不同的存储库之间使用外部文件功能(在您的示例中为RepoA和repoB).

在官方文档中查看此限制:http:
//tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-externals.html

抽象:

外部文件的URL必须与外部文件插入的URL位于同一个存储库中; 不支持存储库间文件外部.