Mercurial Repo: коррупция в последнем коммите - PullRequest
2 голосов
/ 31 августа 2011

Я считаю, что мой последний коммит в Mercurial стал коррумпированным.Я больше ничего не могу зафиксировать и не могу выполнить откат.

Я запустил hg verify, что означало, что я должен запустить hg recover.Затем я запустил hg recover, как предложено, и теперь я получаю ошибку:

abort: index 00manifest.i is corrupted!

Согласно этому сообщению: http://osdir.com/ml/version-control.mercurial.general/2007-03/msg00099.html Я должен быть в состоянии удалить последний64 бита из файла 00manifest.i и начать работу снова.

Это правильно и как мне поступить?

PS.Все, что я до сих пор делал, было в клоне исходного хранилища.

Большое спасибо,

Энди

1 Ответ

4 голосов
/ 31 августа 2011

Вы можете усечь 00manifest.i с помощью консоли Python:

$ python
>>> with open("00manifest.i.orig", 'rb') as fp:
...     data = fp.read()
>>> with open("00manifest.i", 'wb') as fp:
...     fp.write(data[:-64])

Сначала файл читается в двоичном режиме.data это просто строка.Затем срезы используются для обратной записи всех, кроме последних 64 байтов, снова в двоичном режиме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...