Во-первых, обратите внимание, что клон - это init + pull + update и что клонирование субрепаратов является частью шага обновления, не шага pull. Это означает, что вы можете избежать сбоя клонирования, просто пропустив шаг обновления:
$ hg clone -U <url>
Теперь проблема сводится к тому, «как мне обновить версию с проблемным файлом .hgsub / .hgsubstate?» Здесь есть две возможности:
«Ручное обновление» можно сделать так:
$ hg revert -a -r default -X problematic-file
[adding a bunch of files]
$ hg debugrebuildstate -r default
Теперь вы можете вручную исправить ваши subpopos и .hgsub и зафиксировать. Обязательно проверьте исправление с помощью клона, прежде чем нажимать его.
Также смотрите эту ветку списка рассылки по теме: http://markmail.org/thread/ktxd2rsm7avkexzr