Mercurial hg Проблема с репозиторием - «abort: неизвестная ревизия» - PullRequest
10 голосов
/ 11 марта 2010

Примечание: я спросил это вчера на kiln.stackexchange.com , но не получил ответа, и он задерживает мою работу. Так что я решила попробовать здесь.

В моем главном ртутном репозитории есть куча суб-репозиториев. Во время первоначальной настройки я допустил ошибку в моем .hgsub. А именно, я указал два подкаталога на один и тот же каталог.

Что я должен был иметь:

sites/1=sites/1
sites/2=sites/2
sites/3=sites/3

Что у меня на самом деле было:

sites/1=sites/1
sites/2=sites/2
sites/2=sites/3

Глупая ошибка копирования / вставки. Я совершил неправильный .hgsub, не осознавая свою ошибку. Несколько ревизий позже, добавляя несколько новых суб-репозиториев в .hgsub, я заметил ошибку и исправил ее внутри .hgsub. Я совершил и продолжал катиться. Я выполнил разумное количество работы, которую я предпочел бы не повторять, поскольку я «исправил» ошибку в .hgsub.

Теперь мы подошли к актуальной проблеме: я внес некоторые изменения в под-репозиторий sites/3, и когда я пытаюсь зафиксировать основной репозиторий, я получаю следующую ошибку:

abort: unknown revision 'LongGUIDLookingString'

Я нашел это обсуждение , которое, кажется, решает ту же проблему, что и у меня, но я не могу понять, как ее исправили. Что мне нужно сделать, чтобы это исправить?

Соответствующий раздел .hgsubstate:

7d1e430ac5f12e00cb5bebcdf693e72db2c45732 sites/1
6eea936a5b7cfff6169f59d0dc1c8c4eb5f8412d sites/2
e2b83b301997de8add1b659d82a7ab8201bda653 sites/3

1 Ответ

13 голосов
/ 11 марта 2010

Я предполагаю, что файл .hgsubstate теперь содержит хэш (который является вашим LongGUIDLookingString) из repo3 в записи repo2.

Попробуйте отредактировать .hgsubstate, чтобы указать на правильный / текущий хэш для каждого репо.

Если это не сработает, пожалуйста, вставьте ваш файл .hgsubstate, чтобы мы могли увидеть, как его можно настроить.

...