Исправление репозитория Mercurial + hgsubversion после прерванного коммита

Я отправлял 3 набора изменений с TortoisHg в репозиторий SVN, используя расширение hgsubversion. Из-за перебоев в сети процесс долго зависал, и я закрыл TortoiseHg (он попросил прервать операцию, я сказал да).

Теперь хранилище как-то сломано. Эти три набора изменений, кажется, не выдвинуты (фаза = черновик, номер редакции в столбце "преобразовано из"), но я не могу их подтолкнуть. Там написано что-то вроде "родительская ревизия SVN не является головной ревизией". Я перепробовал все виды перебазирования и экспорта изменений в патч и обратно, но это не помогло.

Затем я обнаружил, что, если я загляну в репозиторий SVN, на самом деле 2 из этих наборов изменений уже есть. Просто мой ртутный репо об этом не знает. Тяга не помогает. Поэтому я использовал команду MQ->Strip на всех трех, чтобы удалить их, а затем попытался получить их из SVN. Но Mercurial ничего не тянет, говорит, что изменений не обнаружено. Так что в моем репозитории SVN есть еще две ревизии, а не Mercurial.

Как я могу исправить репозиторий, чтобы он снова работал?

У меня есть копия всего этого, прежде чем я сделаю "раздевание", если это поможет, а также все три набора изменений, экспортированные в файлы *.patch.

Очевидно, я не хочу получать все из SVN с нуля, потому что это тысячи ревизий, и есть некоторые ветки, которые мне нужны, но которые никогда не были в SVN.

1 ответ

Решение

ОК, нашел ответ. Вы должны пойти в терминал и сделать hg svn rebuildmeta, Затем он видит новые ревизии и может их вытянуть.

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