【问题标题】:Subversion Can't read length line in fileSubversion无法读取文件中的长度行
【发布时间】:2011-06-09 03:07:09
【问题描述】:

当我提交时,我没有错误。现在我尝试检查并收到此错误

无法读取文件 'c:\svn\db\revs\0\14' 中的长度行

我已经尝试过旧版本,它也不起作用。这是否意味着我在颠覆中失去了一切?

【问题讨论】:

  • 我看不出这是如何与编程相关的。
  • @unwind From help-->What topics can I ask about here?《程序员常用的软件工具》
  • 很好,这个问题在 3 年后仍然出现。幸运的是,不是在大型商业代码库上,也没有太多丢失的历史需要担心,所以我很想从 git 重新开始。

标签: svn fsfs


【解决方案1】:

你可以跑

svnadmin verify /var/svn/repo

检查您的存储库。

如果你使用 Berkeley db(你不应该),

svnadmin recover /var/svn/repo

可能有帮助。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,这是我在没有管理 SVN 存储库的情况下找到的简单修复。

    1. 错误是由我必须提交的特定文件产生的。
    2. 我提交了所有其他更改的文件,好的
    3. 我将本地文件复制到桌面作为备份
    4. SVN->删除文件
    5. 提交文件夹。成功了
    6. 将桌面文件添加到本地文件夹中
    7. svn -> 添加,svn->提交

    问题已解决。我认为这样您就可以从存储库中丢失文件的先前版本,但这对我来说不是问题。

    希望这些信息对您有所帮助。

    【讨论】:

      【解决方案3】:

      Berkeley 数据库似乎已损坏,您应该下次使用FSFS 后端。现在见Berkeley DB Recovery

      【讨论】:

        【解决方案4】:

        这似乎是 SVN 错误或某些硬件故障。我会开始寻找备份。 如果您没有 - 您可以在新存储库中提交您的本地工作副本。

        【讨论】:

          【解决方案5】:

          看起来您的某个修订版的 db 已损坏。

          所以,首先你可以更新到以前的版本并更改数据库中的最后一个版本:

          svn update -r99
          vi /var/svn/site/db/current
          [change number to "99"]
          

          您必须找出损坏的目录并将其替换到存储库中。 [损坏的] - 损坏目录的名称。

          cd /var/www/site/
          svn delete --keep-local [corrupted]
          svn ci [corrupted] -m "Remove corrupted directory from repository"
          rm -rf `find /[corrupted] -name .svn`
          svn add [corrupted]
          svn ci [corrupted] -m "Add fixed directory"
          

          【讨论】:

            猜你喜欢
            • 2018-06-04
            • 2012-02-29
            • 1970-01-01
            • 2020-03-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多