2012-06-28 66 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驅動器。可能是一個常見的新手錯誤。