2012-06-28 64 views
0

我第一次尝试化石,并在几分钟内搞砸了。我创建了一个存储库,然后显然在错误的文件夹中运行命令等,最终删除了测试存储库,以便重新启动。 (我曾经读过那个化石是“自给自足的”,所以我想,删除一个存储库文件就没问题了。什么是删除化石库的正确方法?)化石:“不是有效的储存库” - 删除的储存库

现在,几乎每一个命令我都尝试包括“all rebuild”),我得到了删除存储库名称的错误“不是有效的存储库”。

现在是什么?

回答

0

根据this post

的“不是一个有效的资料库”的错误,只有当化石试图测量库文件的大小并看到 要么文件不存在,否则将出现 文件大小比1024字节小 。它通过在文件上调用stat()并查看stat.st_size字段来完成此操作。

它似乎可能是你有一个丢失或截断化石文件。确保你已经删除了存储库文件,并且你的文件系统已经发布了文件句柄。 Fossil在〜/ .fossil中存储一些储存库信息,因此您可能需要删除它。

rm ~/.fossil 

在极端情况下,您可能希望在删除此文件后重新启动,以确保您使用的是干净的版本。

如果仍有问题,请尝试在其他目录中创建新的存储库文件。例如:

cd /tmp 
fossil init foo.fsl 
fossil open foo.fsl 
fossil close 

如果一切顺利的话,你就必须追捕无论仓库的残余潜伏。只要文件句柄关闭,没有理由不应该删除foo.fsl(或其他)并称它为好。

+0

谢谢,CodeGnome。是的,正如我所说的,我删除了该文件。我不知道文件句柄。我想你是指一些Linux的东西。 “rm”也是Linux,不是吗?我在Windows上。 同时,我从回收站中取回了已删除的文件,修复了错误消息。重建也起作用,然后我打开存储库,再次关闭它,然后删除它,现在看起来没问题。所以也许不应该删除一个打开的存储库? – Ralf

+0

@Ralf Right ...删除一个开放的仓库通常会导致错误,无论平台如何。最好先关闭存储库,然后删除它。很高兴你摆脱了! –

0

我刚刚在Windows上遇到了完全相同的问题。我似乎也找到了解决办法。这是我做的。我不能保证它是一个通用的解决方案,甚至是一个好的解决方案。在:

C:\Users\mywindowsusername\AppData\Local 

有一个名为_fossil的文件和一个名为VirtualStore的目录/文件夹。我删除了两个。这似乎已经删除了存储库的所有痕迹。请注意,与您的情况一样,存储库仍处于“打开”状态。

编辑:经过进一步的实验,VirtualStore似乎是一个临时目录,在提交后(即.fossil文件将出现在目标目录内)将会消失。

我的错误是在根和克隆上创建一个存储库:化石继续克隆整个C驱动器。可能是一个常见的新手错误。