今天发生了最奇怪的事情。我试图访问 SVN 存储库,但它给了我一个错误,在查看它后我发现所有文件都丢失了。
我有以下目录结构: /coding/svn/reposotory/company/project1/ /coding/svn/reposotory/company/project2/ /coding/svn/reposotory/company2/project1/
在project1,project2中有repos ...现在我仍然有文件夹...但是如果我查看project1,例如它都是空的。
我什至无法想象他们去了哪里。而且很奇怪,目录仍然存在,但文件丢失了。
澄清 我不是在谈论 SVN 控制下的文件,而是实际的 repo 文件(钩子、数据库、整个目录)
您是否考虑过文件系统损坏?一大堆丢失的文件强烈暗示了这种事情。检查 dmesg 是否存在与分区或文件系统相关的错误。
试试看
svn info
输出如果上次更改日期是最近的,则很可能有人犯了错误,
svn mv
然后意外地编辑或覆盖了。经过大量搜索我和服务器支持后,我们无法确定服务器文件的位置。我们已经放弃了查找,并假设这是一个非常奇怪的文件系统错误。
(注意:这是在问题发布者澄清说通过“查看 [repo]”之前发布的,他不是查看存储在 repo 中的文件,而是查看 repo 之外的文件,即 svn 数据库文件。)
svn log -v file:///home/repo
在 repo 的根目录上(根据需要更改 URL)将为您提供对 repo 的所有更改,从最近的向后工作,列出添加、删除和修改的文件。使用它,您可以确定是否有人移动或删除了您正在查找的文件。如果这不起作用,您将遇到以下两个问题之一:
您会收到一条类似 的消息
Unable to open repository
,在这种情况下,您的存储库的 URL 错误。找出您的存储库的真正位置。它将包含文件和目录,例如README.txt
、conf
、和.db
format
hooks
您的 URL 不是针对您的存储库的根目录,而是位于存储库中(如果日志中的版本号没有按顺序递减,就会出现这种情况)。删除 URL 中路径末尾的最后一个元素,然后重试。