gpt4 book ai didi

Svnsync 无法同步存储库

转载 作者:行者123 更新时间:2023-12-04 03:05:09 25 4
gpt4 key购买 nike

我对远程 Subversion 存储库有读取权限,我想通过 svnsync 克隆它。同步开始正常并且进展顺利,但接近尾声时出现错误,如下所示:

Transmitting file data ...svnsync: File not found: transaction '12893-qyy', path
'/project_name/trunk/path/to/file.cpp'

我可以成功地检查有问题的修订、上一个修订和下一个修订。所有文件都已到位。我已经检查了日志中有问题的文件 - 它的文件夹在之前的版本中被移到了这个地方。

有什么方法可以强制 svnsync 忽略这个错误并继续同步吗?我没有存储库的管理员访问权限,所以我无法修复它。

更新:回答评论:我已经检查了与服务器使用相同的颠覆客户端(1.6.6),最新稳定版(1.6.17)和测试版(1.7)。所有给出完全相同的错误。此外,我可以成功 check out “损坏的”存储库:最新修订、有问题的修订 (12893)、之前的修订 (12892) 和之后的修订 (12894),没有任何错误。

更新:回答更多评论:svn 日志显示,在修订版 12892 中,文件夹“to”已从 /repo/other_project/trunk/source_path 移至 /repo/project_name/trunk/path

最佳答案

鉴于您可以在这之前和之后检查修订,我猜您没有任何存储库损坏。 svnsync 通过“重放”事务而不是镜像数据或类似的东西来工作。因此,可能存在阻止它重放事务的错误。我猜想关于那个提交的某些东西触发了一个错误。您可以运行 svn log -c 12893 -v 来更详细地查看修订。我猜它里面有一些东西,比如导致问题的'R'eplace。您可以收集信息并将其发送至 users@subversion.apache.org,以便对其进行分析并有望修复。

这里有一些其他的想法:

  • 如何访问源存储库? file://http://等。如果它是 http://你可以尝试从使用 Neon 的默认 HTTP 库更改为 Serf,看看它是否仍然有问题。您可以通过在运行 svnsync 命令时添加 --config-option=servers:global:http-library=serf 来实现。值得一试。

  • 看看您是否可以转储修订版。 svnadmin dump -r12892:12893 --incremental reposname > dumpfile

  • 如果您可以转储修订,然后加载,您可以使用 svnadmin load 将其手动加载到目标存储库中。

  • 如果您可以加载修订版,那么您可以手动修复 svnsync 的属性,以便它知道它执行了该修订版。 svn ps --revprop -r0 svn:sync-last-merged-rev 123893 url://to/mirror

更新:问题已通过使用来自 subversion 1.7 RC2 的新 svnrdump 实用程序解决。

关于Svnsync 无法同步存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7332330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com