Какая файловая система используется на разделе, где находится основной репозиторий?
На самом деле, когда Mercurial выполняет некоторые операции, ему необходимо заблокировать хранилище. Для этого он создает символическую ссылку на несуществующий файл, когда файловая система поддерживает его, в хранилище .hg, сообщая всем остальным процессам, что хранилище нельзя изменить в данный момент. Когда символические ссылки не поддерживаются файловой системой, создается обычный файл.
Однако есть некоторые проблемы с некоторыми файловыми системами FUSE, обычно SSHFS с активированной опцией follow_symlinks. FUSE сообщает, что он знает о символических ссылках, но поскольку SSHFS следует по символической ссылке, а файл не существует, «состояние» ссылки помечается как неизвестное, поэтому Mercurial считает, что хранилище неправильно заблокировано, и прерывает операцию.
Я вижу, что вы используете Cygwin, так что, возможно, это та же проблема с инструментами, разработанными для UNIX в файловой системе Windows. Странно, но мои коллеги очень хорошо используют Mercurial через Cygwin.
Я не знаю, так ли это для вас, но я потерял почти полдня на эту проблему. Может быть, эти ответы могут помочь некоторым людям в будущем.