Как исправить репозиторий Mercurial, который не обновляется, так как указывает на отсутствие ревизии в подпункте?
Наш ртутный репозиторий застревает при попытке обновить старую ветвь, у которой есть пара subrepo / revision, которая больше не существует.
abort: unknown revision '22e9bb6a6cd98be85b995f632b2f72d6298f9354'!
Есть ли способ сказать Mercurial обновить версию или ветку, но не пытаться обновить подпункты?
1 ответ
Решение
Субрепо еще существует где-то еще? Вы можете изменить указатель на него, используя [subpaths]
раздел, который обеспечивает слой перевода поверх мест в .hgsub
,
Если это действительно нигде не существует, вы могли бы так глубоко, как:
hg debugsetparent REVISION_YOU_WANT
cat /dev/null > .hgsub # put an empty .hgsub in place
hg commit .hgsub
hg update tip
Это должно создать новую ревизию, которая похожа на REVISION_YOU_WANT, за исключением того, что в ней есть пустой файл.hgsub, так что вы можете обновить его.
Было бы намного лучше, если бы вы могли найти подпункт в каком-то новом месте и указать на него подпутями.