나는 이것이 답이 될 것으로 기대하지는 않지만 상당히 특이한 상황입니다. 내가 아닌 다른 사람이 부딪 칠 경우를 언급하십시오.
오늘 저는 hg push 명령으로 "저장소 잠금 대기 중"을 받았습니다.
hung hg 명령을 죽였을 때 .hg / store / lock이 보이지 않습니다.
명령이 중단 된 동안 .hg / store / lock을 찾을 때 존재했습니다. 그러나 hg 명령이 종료되면 잠금 파일이 삭제되었습니다.
내가 푸시 대상으로 가서 hg pull을 실행했을 때 아무런 문제가 없습니다.
결국 hg 푸시의 프로세스 ID는 잠금 대기 메시지가 매번 변경된다는 것을 깨달았습니다. "hg push"가 자체적으로 보유한 잠금을 기다리는 중입니다 (또는 하위 프로세스 일 수도 있습니다. 더 이상 조사하지 않았습니다).
A와 B라고 부르는 두 개의 작업 공간은 symlink가 공유하는 .hg 트리를 가지고 있음이 밝혀졌습니다.
A/.hg --symlinked-to--> B/.hg
Mercurial과는 관련이 없습니다. Mercurial은 동일한 저장소를 공유하는 두 작업 공간의 개념을 이해하지 못합니다. 그러나 다른 VCS에서 Mercurial로 오는 누군가가 이것을 원할 수도 있음을 이해합니다 (DVCS는 아니지만 Perforce는 그렇게합니다. Bazaar DVCS는 그렇게 할 수 있습니다). 이 푸시를 제외하고는 symlinked REP-ROOT / .hg가 전혀 작동하지 않는다는 것에 놀랐습니다.