Как исправить репозиторий 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, так что вы можете обновить его.

Было бы намного лучше, если бы вы могли найти подпункт в каком-то новом месте и указать на него подпутями.

Другие вопросы по тегам