То, что было предложено выше, работает так, как я и думал. Настоящей проблемой был мой способ создания под-репозитория.
Вместо:
- cd projectA
- MkDir
- Зависимость A
- зависимость от CDA
- рт.ст. init
- hg pull ssh: // hg @ somerandomiphere / dependencyA
Это должно было быть просто:
- hg клон ssh: // hg @ somerandomiphere / dependencyA dependencyA
Как мы знаем, .hgsusbtate
заблокирует вложенный репозиторий на определенной ревизии после фиксации. Это то, что произошло, но (!) Выполнение hg pull
в под-репозитории завершилось с ошибкой
paths cannot contain dot file components
Таким образом, это означает, что мое подчинение было заблокировано в ревизии, в которой оно было обновлено после фиксации, и не смогло извлечь изменения из своего хранилища из-за ошибки, показанной выше. Почему это произошло, хорошо объяснено в этом принятом ответе .
Решение:
клонирование - это путь, по которому нужно идти