我遇到一个svn存储库的问题,到目前为止一直运行良好。
我收到错误
svnadmin: Can't set position pointer in file 'repository/db/revs/0/783': Invalid argument
例如我跑
时svnadmin verify
其他一般症状包括无法结账,更新,提交等。
任何帮助非常感谢
谢谢! 彼得
答案 0 :(得分:0)
我能找到的唯一解决方案是制作我的存储库副本,如下所示
svnadmin create newrepo
svnadmin dump -r 0:783 repository | svnadmin load newrepo
mv repository repository_corrupted
mv newrepo repository
此后,用户检出目录
通常需要进行svn清理答案 1 :(得分:0)
最简单的方法无法在文件中设置位置指针:
我是这样做的:
答案 2 :(得分:0)
某些文件存在同样的问题。当我深入到相关文件夹时,修订文件repository / db / revs / 89是一个零文件。我想问题可能是由于某些硬件故障或电源中断(repos在USB驱动器上)。我修复的方法是复制88到89然后我能够再次提交更改。
答案 3 :(得分:0)
好的...我只是遇到了这个问题,并且能够解决它。我正在使用FSFS。我上次的良好修订是修订号88。修订89是被破坏的修订。
我复制了存储库并将其命名为repository-2018-10-18-broken
。绝对首先要做!!!
我删除了原始存储库中的以下文件:
/ repository / db / revs / 0/89
/ repository / db / revprops / 0/89
/ repository / db / transactions / 89 *。*
/repository/db/current
,并将89
更改为88
。我离开了尾随的新行。这就像一种魅力。我不能说它将对其他任何人都有效,但是我不明白为什么它不起作用。看来它确实有效地删除了错误的修订。
答案 4 :(得分:0)
当发生相同的问题时,我们能够将其跟踪到一个单独的文件夹,该文件夹中的文件移动不正确。
其他文件夹允许提交和更新,只有在包含该文件夹后,我们才会收到无法设置指针的消息。
解决方案为:
这似乎可以解决所有错误。
通过更多的试验和错误,我猜可以将问题跟踪到负责的文件,但是在这种情况下,我们在文件夹级别停止了操作。