Saya tidak berharap ini menjadi jawaban yang menang, tetapi ini adalah situasi yang cukup tidak biasa. Menyebutkan kalau-kalau ada orang selain saya yang menabraknya.
Hari ini saya mendapatkan "menunggu kunci pada repositori" pada perintah push hg.
Ketika saya membunuh perintah hung hg saya tidak bisa melihat .hg / store / lock
Ketika saya mencari .hg / store / lock ketika perintah digantung, itu ada. Tetapi lockfile dihapus ketika perintah hg terbunuh.
Ketika saya pergi ke target push, dan mengeksekusi hg pull, tidak masalah.
Akhirnya saya menyadari bahwa ID proses pada push hg adalah pesan tunggu kunci berubah setiap kali. Ternyata "hg push" menggantung menunggu kunci dipegang dengan sendirinya (atau mungkin subproses, saya tidak menyelidiki lebih lanjut).
Ternyata kedua ruang kerja, sebut saja mereka A dan B, memiliki .hg pohon yang dibagikan oleh symlink:
A/.hg --symlinked-to--> B/.hg
Ini BUKAN hal yang baik untuk dilakukan dengan Mercurial. Mercurial tidak memahami konsep dua ruang kerja yang berbagi repositori yang sama. Saya mengerti, bagaimanapun, bagaimana seseorang yang datang ke Mercurial dari VCS lain mungkin menginginkan ini (Perforce tidak, meskipun bukan DVCS; Bazaar DVCS dilaporkan dapat melakukannya). Saya terkejut bahwa REP-ROOT / .hg yang disinkronkan bekerja sama sekali, meskipun tampaknya kecuali untuk dorongan ini.