Subversion E160004 X 根节点前身是 Y 但应该是 Z

Posted

技术标签:

【中文标题】Subversion E160004 X 根节点前身是 Y 但应该是 Z【英文标题】:Subversion E160004 X's root node's predecessor is Y but should be Z 【发布时间】:2013-12-06 19:12:04 【问题描述】:

我继承了一个大型 Subversion 存储库(74010 修订版),我正在尝试执行转储/加载以将存储库升级到 1.8 版本,以利用节省空间的功能。

在尝试此过程之前,我在相关存储库上运行了svnadmin verify,以确保存储库处于良好状态。不幸的是,我收到以下错误消息:

svnadmin: E160004: r1516's root node's predecessor is r1514 but should be r1515

我进行了很多谷歌搜索,试图找出这个错误的含义,但是除了一个显然只在新存储库中出现的错误之外,我无法找到这个特定错误的信息。不幸的是,这个错误号似乎也用于几类错误。

当我在 TortoiseSVN 中执行“显示日志”时,我可以验证是否缺少此特定版本,我尝试进行转储以查看是否能够获得转储,但不出所料,它失败了。

这似乎(表面上)没有影响此存储库的日常使用,但是无法转储存储库并不是一件好事。

我的问题是:

    我可以做些什么来尝试从这个存储库中恢复我可以使用的历史记录并重新开始? 有没有办法让svnadmin verify 显示所有错误,而不仅仅是在第一个错误上失败?

【问题讨论】:

【参考方案1】:

我遇到了同样的 E160004 错误,我发现以下两个链接很有帮助:

http://mail-archives.apache.org/mod_mbox/subversion-users/201401.mbox/%3C52CF3574.1060508@reser.org%3E

https://subversion.apache.org/docs/release-notes/1.8.html#verify-issue4129

至于您的问题 1,我认为您的意思是您想知道如何解决此问题,“执行转储/加载循环”,如上面第二个链接中所建议的那样。

问题 2,这似乎是不可能的,因为我阅读了 svnadmin 的帮助并尝试这样做。

【讨论】:

谢谢,这似乎已在最近的版本中修复(以前我无法转储 repo)与最新的 subversion (1.8.9) 一起使用

以上是关于Subversion E160004 X 根节点前身是 Y 但应该是 Z的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode二叉树实现

从根矩阵对 OBST 进行前序遍历

二叉树

二叉搜索树简介

已知前序(后序)遍历序列和中序遍历序列构建二叉树(Leetcode相关题目)

Subversion - Python生成authz文件前,根据需要特别定义权限的路径,找出需关注权限的兄弟路径与路由至根的路径