2014-04-13 43 views
1

嘗試當如何從損壞的.hgsubstate文件中恢復?

hg commit 

hg status 

,我發現了錯誤

abort: invalid subrepository revision specifier in .hgsubstate line 3 

這可能是爲什麼:

f322ee070c467d1e517564d679f150693739d186 buildtools 
2e68a7e2306704c8dc98802c73897c6c43bf96bc dzlivetemplates 
libs/dxgettext 
libs/dzlib 
libs/jcl 
libs/jvcl 
libs/tregexpr 

前兩行看好的,但從第三行開始,子版本庫修訂沒有GUID。

我不知道這是怎麼發生的(但我可能是自己造成的)。

我該如何恢復?我可以刪除.hgsubstate文件並讓hg從子庫的當前狀態中進行回顧嗎?如果是,如何?

回答

3

好吧,刪除文件(實際上我重命名它可以恢復它)似乎解決了這個問題。

hg update 
hg commit 

恢復它。

現在我回到原來的問題:擺脫無意中創建的第二個頭。但這是一個不同的故事。

+0

+1自我回答是有益的SO – msw

+1

退房http://stackoverflow.com/questions/7475634/mercurial-any-way-to-merge-and-iscisco-changes合併2頭,同時丟棄壞的一個。 – Vince

+0

謝謝@Vince,這可能會有所幫助,但我用強力解決了這個問題:我刪除了hg存儲庫並創建了一個新的存儲庫。這當然會丟失我的更改日誌,但在這種情況下這不是一個大問題。 – dummzeuch

相關問題