Используя черепаху hg на windows, я сделал пул из репозитория на локальном диске в репозиторий на флешке.
Во время пуска, я думаю, произошел сбой в usb-соединении, потому что он был прерван на полпути.
Теперь я не могу тянуть снова. Я получаю сообщение: abandoned transaction found - run hg recover
Когда я запускаю hg recovery, я получаю следующее сообщение:
rolling back interrupted transaction
** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercurial@selenic.com
** Python 2.6.4 (r264:75708, Oct 26 2009, 08:23:19) [MSC v.1500 32 bit (Intel)]
** Mercurial Distributed SCM (version 1.6.3)
** Extensions loaded: fixfrozenexts
Traceback (most recent call last):
File "hg", line 36, in <module>
File "mercurial\dispatch.pyo", line 16, in run
File "mercurial\dispatch.pyo", line 34, in dispatch
File "mercurial\dispatch.pyo", line 54, in _runcatch
File "mercurial\dispatch.pyo", line 494, in _dispatch
File "mercurial\dispatch.pyo", line 355, in runcommand
File "mercurial\dispatch.pyo", line 545, in _runcommand
File "mercurial\dispatch.pyo", line 499, in checkargs
File "mercurial\dispatch.pyo", line 492, in <lambda>
File "mercurial\util.pyo", line 420, in check
File "mercurial\commands.pyo", line 2869, in recover
File "mercurial\localrepo.pyo", line 606, in recover
File "mercurial\transaction.pyo", line 173, in rollback
ValueError: too many values to unpack
Если я пытаюсь выполнить откат вручную, я получаю это сообщение: no rollback information available
На этот раз я могу довольно легко просто удалить всю резервную копию на моей флешке и сделать новую выгрузку, потому что репо маленькое, а usb-флешка не содержит никаких других изменений. Но что, если это произойдет на большом репо, где я не могу позволить себе перезапустить с нуля? Как я могу восстановить репо?