2014-04-13 1 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 파일을 삭제하고 서브 레포지토리의 현재 상태에서이를 h 트할 수 있습니까? 그렇다면 어떻게?

답변

3

좋아요, 파일을 삭제하면 (실제로 복원 할 수 있도록 파일 이름이 변경됨) 문제가 해결 된 것으로 보입니다.

hg update 
hg commit 

복원했습니다.

이제 나는 원래의 문제로 돌아 왔습니다. 실수로 생성 된 두 번째 헤드 제거. 그러나 그것은 다른 이야기입니다.

+0

+1 자아 응답은 SO – msw

+1

에 적합합니다. 두 머리를 병합하는 동안 두 머리를 병합하려면 http://stackoverflow.com/questions/7475634/mercurial-any-way-to-merge-and-discard-changes를 확인하십시오. 나쁜 것. – Vince

+0

감사합니다. @Vince, 도움이 되었을지 모르지만 무차별 대대적 인 문제로 문제를 해결했습니다. hg 저장소를 삭제하고 새 저장소를 작성했습니다. 이것은 물론 내 변경 로그를 잃어 버렸지 만,이 경우 큰 문제는 아니 었습니다. – dummzeuch