TortoiseSVN 提交失败:“文件或目录已损坏且无法读取”、“尝试写入只读数据库”

TortoiseSVN 提交失败:“文件或目录已损坏且无法读取”、“尝试写入只读数据库”

我已经使用 tortoise svn 几个星期了。

我经常遇到错误。几乎我做的每件事都会出错。无论是互联网上的存储库、本地机器上的存储库还是网络上的机器上的存储库,都是如此。所以我开始跟踪。下面是一些示例。

2010 年 12 月 31 日

无法将“C:\Users\jisaacks\Desktop\my branch test.svn\tmp\entries”移动到“C:\Users\jisaacks\Desktop\my branch test.svn\entries”:该文件或目录已损坏且无法读取。

2011 年 1 月 4 日

提交失败(详细信息如下):服务器在响应 MKCOL 对“/svn/kranichs-svn/!svn/wrk/b316f15e-0869-4644-9c53-87aa0103506b/branches”的请求时发送了意外的返回值(405 方法不允许)

2011 年 1 月 6 日

无法将“C:\Users\jisaacks\Desktop\DVD Catalog\vendors.svn\tmp\entries”移动到“C:\Users\jisaacks\Desktop\DVD Catalog\vendors.svn\entries”:该文件或目录已损坏且无法读取。

2011 年 1 月 6 日

无法将“C:\Users\jisaacks\Desktop\DVD Catalog\cake\tests\test_app\views\layouts.svn\tmp\entries”移动到“C:\Users\jisaacks\Desktop\DVD Catalog\cake\tests\test_app\views\layouts.svn\entries”:文件或目录已损坏且无法读取。

2011 年 1 月 6 日

提交失败(详细信息如下):尝试写入只读数据库尝试写入只读数据库

关于只读数据库的最后一个问题每次我提交时都会发生。假设我正在工作副本中处理主要修订版本 (7)。我做了更改并提交了它。它给了我这个错误。但如果我查看日志,它会告诉我现在有一个修订版本 8(我刚刚做的提交),但我仍在修订版本 7 上。所以我需要运行更新才能转到我刚刚提交的当前修订版本。我希望我解释清楚了。

无论如何,看到这么多错误,我很好奇……TSVN 是不是这么不稳定,每个人都有这些问题吗?还是只有我一个人有?如果只有我一个人有,我可能做错了什么?

答案1

我在同事的电脑上看到过这个问题,原来是 Microsoft Security Essentials 破坏了 TortoiseSVN 下载的文件。我们一禁用它,问题就消失了,SVN 签出就正常了。

我建议暂时禁用您的防病毒软件并重试。

答案2

今天我也遇到了下面的错误:

svn: E200031: attempt to write a readonly database

解决方案(发现这里)是去 svn 服务器并修复项目 db 文件夹中 rep-cache.db 的权限(例如/svn/my_project/db/rep-cache.db)

请注意,rep-cache.db 对常规ls但在FileZilla中被暴露。

以下两个命令解决了该问题:

sudo chown root:root rep-cache.db
sudo chmod 777 rep-cache.db

请注意,这些不是安全的权限,但他们成功了。

有趣的是,该文件缓存数据库在我们的其他项目中似乎不存在。

答案3

我遇到了同样的问题。在网上搜索后发现本文。然后意识到我登录的用户与我用来设置 svn 的用户不同,这基本上是一个权限问题。

更新:添加更多信息,以便没有文章答案也是完整的。

基本上,我使用 root 用户设置/安装了 svn,而许多 Linux 系统上的默认用户不是 root。因此,当我登录系统时,我不是 root,因此我遇到了上述问题。需要 sudo su 才能以 root 身份登录,一切正常

相关内容