Subversion客户端1.7文件外部更新错误

3
我在使用带有单个文件svn:externals的工作副本文件夹时,遇到了使用svn update出现的错误。我想知道是否有解决方法,我是否做错了什么,或者这是subversion客户端1.7.x中的bug。
当使用subversion 1.7.5(尝试了TortoiseSvn 1.7.7和slikSvn 1.7.5)在一个具有单个文件svn:externals的文件夹上调用svn update时,就会出现错误。我倾向于认为这是subversion客户端中的一个bug,因为更新实际上确实发生了,但它说失败了。
供参考,服务器端使用非常老的版本(1.1.4 [r13838]),但根据我的了解,externals是一个客户端"feature",所以旧服务器不应该是问题。此外,这在subversion 1.6.x(客户端)中运行良好。
这是我观察到的情况:
  1. Checkout a project (that has single file svn:externals)

    svn checkout http://my/repo/projects/proj1 proj1
    
  2. Browsing to the folder in my working copy with single file svn:externals. E.g.

    myFile.txt http://my/repo/components/comp1/myFile.txt
    
  3. Executing svn update and I get the following output:

将外部项目提取到'trunk\proj1\source\myFile.txt':
:警告:W160016:打开'/components/comp1/myFile.txt/myFile.txt'失败


如果更改svn:externals,使本地文件具有不同的名称,例如以下内容:

my_file.txt http://my/repo/components/comp1/myFile.txt

然后第3步中的错误信息变为下面这样,因此最后一个斜杠('/')后面的文件是本地版本的文件。

将外部项目提取到 'trunk\proj1\source\myFile.txt':
:警告:W160016:打开'/components/comp1/myFile.txt/my_file.txt'失败

如果您认为这是一个错误,请写信至users@subversion.apache.org。如果您不确定是否为bug,您可以在freenode的#svn IRC频道上询问。 - Dmitry Pavlenko
好的,谢谢。我在网上找到了一个类似的问题,是在2012年5月7日由users@subversion.apache.org报告的:http://permalink.gmane.org/gmane.comp.version-control.subversion.user/110121,但我没有找到任何回复。 - aasmundbo
我无法重现它。使用SVNKit(纯Java SVN实现)可以重现吗?URL http://my/repo/components/comp1/myFile.txt和http://my/repo/projects/proj1是否来自同一仓库("svn info"会有帮助)?如果您使用以下值而不是原来的外部格式:“http://my/repo/components/comp1/myFile.txt my_file.txt”,是否可以重现? - Dmitry Pavlenko
仓库根目录对于my/repo/components/comp1/myFile.txt和my/repo/projects/proj1是相同的。我将svn:externals格式更改为“repo/url/to/myFile.txt local_name.txt”,但我仍然收到相同的“打开失败”错误消息。 - aasmundbo
以下是 svn --version 的输出: svn,版本 1.7.5 (r1336830) 编译于 2012 年 6 月 27 日,14:12:04 - aasmundbo
2
这似乎与使用的svn服务器版本有关。如果我创建了一个测试svn服务器(版本1.7.x),问题就消失了。我仍然困惑为什么客户端1.7.x突然会抱怨这个问题。 - aasmundbo
1个回答

2
这确实是svn客户端的一个bug。详见http://subversion.tigris.org/issues/show_bug.cgi?id=4224:此问题已在svn 1.7.7中得到修复。
正如问题中所指出的,幸运的是,这并不影响功能 - 本地文件仍会被更新以匹配外部文件,但你会看到一些误导性的错误信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接