【发布时间】:2011-11-12 00:54:51
【问题描述】:
我有远程 Subversion 存储库的读取权限,我想通过 svnsync 克隆它。同步开始正常并且进展顺利,但在接近尾声时出现如下错误:
Transmitting file data ...svnsync: File not found: transaction '12893-qyy', path
'/project_name/trunk/path/to/file.cpp'
我可以成功地检查出有问题的版本、上一个版本和下一个版本。所有文件都已到位。我已经检查了有问题的文件的日志 - 它的文件夹在以前的版本中被移到了这个地方。
有什么方法可以强制 svnsync 忽略此错误并继续同步?我没有对存储库的管理员访问权限,所以我无法修复它。
更新:回答 cmets:我检查了与服务器使用 (1.6.6)、最新稳定版 (1.6.17) 和 beta 版 (1.7) 相同的 subversion 客户端。全部给出完全相同的错误。此外,我可以成功签出“损坏”存储库:最新版本、有问题的版本 (12893)、之前的版本 (12892) 和之后的版本 (12894),没有任何错误。
更新:回答更多 cmets:svn 日志显示在修订版 12892 中,文件夹“to”已从 /repo/other_project/trunk/source_path 移至 /repo/project_name/trunk/path
【问题讨论】:
-
您运行的 SVN 版本是否与服务器相同?
-
是的。我试过完全相同的版本,最新的稳定版 1.6.17 版和 1.7 beta 版。同样的错误。
-
很奇怪。您是否尝试过结帐以查看是否有效?如果 repo 损坏,您将无法同步。
-
@qor72 当然可以。我可以签出最新版本,版本 12893,之前的版本和之后的版本 :(。我需要做的就是同步存储库 - 我不在乎它是否包含有问题的文件。但是 svnsync 只是停止这个愚蠢的错误,让我没有选择继续同步:(。
-
鉴于它正在尝试制作 repo 的副本(同步),这并不奇怪 - 如果它遇到错误并跳过文件,它将无法对该文件应用修订向前走。在这种情况下很痛苦......