svn无法在文件中设置位置指针

时间:2013-01-25 12:03:56

标签: svn svnadmin fsfs

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

我收到错误

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

例如我跑

svnadmin verify

其他一般症状包括无法结账,更新,提交等。

任何帮助非常感谢

谢谢! 彼得

5 个答案:

答案 0 :(得分:0)

我能找到的唯一解决方案是制作我的存储库副本,如下所示

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

此后,用户检出目录

通常需要进行svn清理

答案 1 :(得分:0)

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

我是这样做的:

  1. 转到项目父目录(文件夹)
  2. 右键单击
  3. TortoiseSVN ,然后按清理......
  4. 自动显示清理对话框
  5. 选择Clean up working copy statusBreak locksFix time stampsVacuum pristine copiesRefresh shell overlaysInclude externals
  6. 预先确定
  7. 检查屏幕截图以供参考。

    第一步:

    enter image description here

    第二步:

    enter image description here

    希望这会对你有所帮助。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

好的...我只是遇到了这个问题,并且能够解决它。我正在使用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,并将89更改为88。我离开了尾随的新行。

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

答案 4 :(得分:0)

当发生相同的问题时,我们能够将其跟踪到一个单独的文件夹,该文件夹中的文件移动不正确。

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

解决方案为:

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

这似乎可以解决所有错误。

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