首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Svnsync无法同步存储库

Svnsync无法同步存储库
EN

Stack Overflow用户
提问于 2011-09-07 18:26:09
回答 2查看 5.3K关注 0票数 2

我对远程Subversion存储库有读访问权限,我想通过svnsync克隆它。同步开始正常,进展良好,但在接近尾声时,我得到的错误信息如下:

代码语言:javascript
运行
复制
Transmitting file data ...svnsync: File not found: transaction '12893-qyy', path
 '/project_name/trunk/path/to/file.cpp'

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

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

更新:回复评论:我已经检查了与服务器使用相同的subversion客户端(1.6.6),最新稳定版(1.6.17)和测试版(1.7)。所有这些都会产生完全相同的错误。而且,我可以成功地检出“损坏”的存储库:最新版本,有问题的版本(12893),之前的版本(12892)和之后的版本(12894),没有任何错误。

更新:回复更多评论: svn日志显示,在12892版本中,文件夹'to‘已从/repo/other_project/trunk/source_path移至/repo/project_name/trunk/path

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-14 04:25:57

鉴于您可以在此之前和之后签出修订,我猜您没有任何存储库损坏。svnsync的工作原理是“重放”事务,而不是镜像数据或类似的东西。因此,可能存在阻止它重放事务的错误。我猜想这个提交一定是触发了一个bug。您可以运行svn log -c 12893 -v来查看更详细的修订。我猜它里面有像‘R’‘eplace这样的东西导致了问题,你可以收集信息并将其发送到users@subversion.apache.org,这样它就可以被分析并有望修复。

这里有一些其他的想法:

  • 如何访问源代码库?文件:// http:// etc。如果是http://,您可以尝试从使用Neon的默认HTTP库更改为Serf,看看是否仍然有问题。可以通过在运行svnsync命令时将--config-option=servers:global:http-library=serf添加到该命令来完成此操作。值得一试。
  • 看看你能不能转储这个版本。svnadmin dump -r12892:12893 --incremental reposname > dump using
  • 如果您可以转储修订版本,然后加载,您可以使用svnadmin load手动将其加载到目标存储库。
  • 如果您可以加载修订版本,则可以手动修复svnsync的属性,以便它知道它执行了该修订。svn ps --更新合并svn:sync-last- -r0 -rev 123893 url://to/mirror

更新:通过使用subversion 1.7 RC2中的新svnrdump实用程序解决了此问题。

票数 7
EN

Stack Overflow用户

发布于 2019-10-18 08:51:45

为了补充上面的响应,修复我的问题的最后一种方法是使用svndumpfilter命令排除损坏的节点。

每次我尝试在使用svnrdump之后加载特定的版本时,我都会得到以下错误;

..。svnadmin: E160004:文件系统已损坏svnadmin: E200014:读取时校验和不匹配表示形式:预期: 77ec72e82afddd1cb8d2c63760cf4dbb实际: f34fb5883dffffec3cd59a69f8a2cb99

如果您已将修订的转储创建为rev12892.dmp,则可以排除路径,例如。"/project_name/trunk/path“如下;

svndumpfilter排除/项目名/主干/路径< rev12892.dmp > pruned_dump_file

有关svndumpfilter命令的详细信息,请参阅svn红皮书:http://svnbook.red-bean.com/en/1.7/svn.ref.svndumpfilter.commands.c.exclude.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7332330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档