今天发生了一件最奇怪的事。我试图访问 SVN 仓库,但它给了我一个错误,查看后我发现所有文件都丢失了。
我有以下目录结构: /coding/svn/reposotory/company/project1/ /coding/svn/reposotory/company/project2/ /coding/svn/reposotory/company2/project1/
在 project1、project2 中都有 repos...现在我仍然有文件夹...但如果我查看 project1,例如,它全是空的。
我甚至无法想象它们去了哪里。而且很奇怪,目录还在,但文件却不见了。
澄清 我说的不是 SVN 控制下的文件,而是实际的 repo 文件( hooks、db、整个目录)
答案1
您是否考虑过文件系统损坏?大量丢失的文件强烈表明存在此类问题。检查 dmesg 以查找分区或文件系统相关的错误。
答案2
尝试一下svn info
,检查输出
Last Changed Rev: 1184
Last Changed Date: 2009-06-20 21:38:57 +1000 (Sat, 20 Jun 2009)
如果最后更改日期是最近的,则很可能是有人犯了错误并svn mv
意外地编辑或覆盖了该日期。
答案3
经过我和服务器支持人员的大量搜索,我们无法确定服务器文件消失的位置。我们已放弃查找,并假设这是一个非常奇怪的文件系统错误。
答案4
(注意:这是在问题发布者澄清“查看[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(如果日志中的版本号不是按顺序递减,则会出现这种情况)。删除 URL 中路径末尾的最后一个元素,然后重试。