Subversion 存储库中的空'/db/txn-current'或不存在



我遇到了Apache Subversion存储库的问题,我正在寻找最佳解决方案:

我不能承诺颠覆存储库,我会遇到错误:

SVN:E720002:提交失败(详细信息如下):SVN:E720002:无法打开 文件'c: repositories myproject db txn-current': 系统找不到指定的文件。

如果我创建一个空的txn-current文件,如果将在Commit上获得另一个错误:

SVN:E070014:提交失败(详细信息如下):SVN:E070014:无法阅读 文件'c: repositories myproject db txn-current':结束 找到的文件

注意:让我们想象我没有存储库的备份,因此我必须手动解决问题。

已经在stackoverflow上讨论了相同的行为:SVN提交问题,无法读取'd: uc db txn-current':找到的文件结束。但是我怀疑那里的答案真的很有帮助:

  • 我不认为手动创建dbtxn-current并在此处放置0(或任何其他整数)是一个很好的解决方案。我想这可能会导致不久的将来的某些意外行为,

  • svnadmin recover和/或svnadmin verify不创建和/或填充txn-current。在这种情况下,这些命令是无助的。

根据FSFS说明dbtxn-current文件包含下一个事务密钥编号。如果我在文件上放了一些整数,那么我可以提交,整数将增加1。

但是,看起来像放置一些无关的整数可以在我的存储库中打破一些东西,我不希望发生这种情况。

" txn-current"文件是一个文件,上面有一行文本行 仅包含一个基本36号。当前值将在 下一个交易名称,以及修订号 是基于。此序列编号可确保事务名称为 即使交易已中止和新事务,也没有重复使用 基于相同的修订。FSFS的唯一操作 在此文件上执行"获取和增量";" TXN-Current-Lock" 文件在此操作期间被锁定。

我该怎么做才能正确修复dbtxn-current问题?我应该放入什么整数?还有其他方法可以解决此问题吗?

编辑:

  • 如何解决相同的问题(不存在或空的),但对于db/current文件?

我也有类似的问题。为了解决问题,我编辑了" TXN-Current"文件,请在其中放一些大量的说明XXXXX。除此之外,我不得不在" db tracsactions"文件夹中编辑另一个名为"当前"的文件。我从此文件中删除了所有内容,然后添加了一个Enter并关闭了此文件。

在FSFS txn-current中保留下一个事务ID。交易ID在提交后存储在修订本身中。因此,txn-current中的推杆真的很大。

另一个解决方案将是svnadmin dump存储库,然后svnadmin load将其用于新的存储库。

更新:研究了txn-current文件损坏的问题,并在R1483781中修复。

  • 修复了Windows(R1483781)的Power/Disk故障的修复存储库损坏

修复在颠覆1.7.10和更高版本中可用。

我遇到了错误,因为"无法读取'd: svnroot uc db db txn-current'。进一步探索时,我们意识到,在某些服务器OS升级活动之后,DB文件夹中的"当前"文件为空。我们从Revs文件夹找到了最新的修订号,并将该号码添加到"当前"文件

它仍然无法正常工作,然后我们找到了这篇文章,该文章指定您必须将修订号放置,然后在此之后进行" Enter"

这可以解决错误!

我也有一个类似的问题,在提交过程中发生了电源故障。我尝试修改"当前"文件,但不起作用。

我对存储库进行了备份,然后删除了"当前"文件,然后在存储库上运行" svnadmin验证"。此后,我有以下错误:

"畸形的文件SVN:序列化哈希缺失终结者"

然后,我进行了存储库的转储,删除了旧存储库,重新创建了存储库并导入了转储文件。

此后都恢复了正常。完整的存储库和历史记录仍然存在。

我做到了:

svnadmin verify /mnt/repos/
svnadmin recover /mnt/repos/

仍然有错误...

svn: E000002: Übertragen schlug fehl (Details folgen):
svn: E000002: Kann Datei »/mnt/repos/db/txn-current« nicht öffnen: Datei oder Verzeichnis nicht gefunden

然后我创建了空文件:/mnt/repos/db/txn-current然后svn ci再次工作

如果您不想等待:

svnadmin verify -r 997:HEAD <path>

更快。Exchange 997具有修订号,小于不良修订

在我的情况下,

。SVN设置的虚拟机器,空间已满。因此清理了空间

相关内容

最新更新