5

我遇到了一个 svn 存储库的问题,该存储库到目前为止一直运行良好。

我收到错误

svnadmin: Can't set position pointer in file 'repository/db/revs/0/783': Invalid argument

例如当我跑步时

svnadmin verify

其他一般症状包括无法签出、更新、提交等。

非常感谢任何帮助

谢谢!彼得

4

5 回答 5

2

好的...我刚遇到这个问题并且能够解决它。我正在使用 FSFS。我的最后一个好版本是第 88 版。第 89 版被破坏了。

  1. 我复制了存储库并将其命名为repository-2018-10-18-broken. 绝对要先做这个!!!

  2. 我删除了原始存储库中的以下文件:

/repository/db/revs/0/89

/repository/db/revprops/0/89

/repository/db/transactions/89*.*

  1. 使用我可信赖的文本编辑器,然后我编辑了文件/repository/db/current并将其更改8988. 我离开了尾随的新行。

这就像一个魅力。我不能说它适用于其他任何人,但我不明白为什么它不会。看起来它确实有效地删除了错误的修订。

于 2018-10-18T20:37:39.663 回答
1

当发生同样的问题时,我们能够将其追踪到一个包含错误移动文件的文件夹。

其他文件夹允许提交和更新,只有在包含该文件夹时,我们才会收到无法设置指针的消息。

解决方案是:

  1. 从 SVN 中删除有问题的文件夹(忽略,递归)
  2. 再次添加文件夹。
  3. 提交文件夹。

这似乎可以解决任何问题。

通过更多的试验和错误,我想问题可以被追踪到负责的文件,但在这种情况下,我们在文件夹级别停止了。

于 2019-11-12T14:31:03.983 回答
0

我能找到的唯一解决方案是按如下方式复制我的存储库

svnadmin create newrepo
svnadmin dump -r 0:783 repository | svnadmin load newrepo
mv repository repository_corrupted
mv newrepo repository

在此之后,通常需要在用户签出的目录中进行 svn 清理

于 2013-01-25T12:14:54.030 回答
0

无法在文件中设置位置指针的最简单方法:

我是这样做的:

  1. 转到Project父目录(文件夹)
  2. 右键单击
  3. T​​ortoiseSVN然后按清理...
  4. 清理对话框将自动出现
  5. 选择Clean up working copy status, Break locks, Fix time stamps, Vacuum pristine copies, Refresh shell overlays,Include externals
  6. 确定

检查屏幕截图以供参考。

第一步:

在此处输入图像描述

第二步:

在此处输入图像描述

希望这会帮助你。

于 2016-02-10T06:24:00.687 回答
0

对某些文件有同样的问题。当我深入到有问题的文件夹时,修订文件 repository/db/revs/89 是一个零文件。我猜这个问题可能是由于某些硬件故障或电源中断(存储库位于 USB 驱动器上)。我修复的方法是将 88 复制到 89,然后我能够再次提交更改。

于 2018-01-08T10:04:07.183 回答