Mercurial: "transacción abandonada encontrada – ejecuta hg recover". Recuperar no funciona

Usando tortuga hg en Windows, hice un tirón de un repository en mi unidad local a un repository en un dispositivo USB.

Durante la extracción, supongo que hubo una falla en la connection USB porque se abortó a la mitad.

Ahora no puedo tirar de nuevo. Aparece el post: abandoned transaction found - run hg recover

Cuando ejecuto hg recover obtengo el siguiente post:

 rolling back interrupted transaction ** unknown exception encountenetworking, 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 

Si trato de deshacer manualmente, recibo este post: no rollback information available

Esta vez puedo simplemente eliminar toda la copy de security en mi dispositivo y hacer una nueva extracción porque el repository es pequeño y el dispositivo USB no contiene ningún otro cambio. Pero, ¿y si esto sucede en un repository más grande en el que no puedo permitirme reiniciar desde cero? ¿Cómo puedo recuperar el repository?

Experimenté un problema similar y lo reporté como un error , y el desarrollador en el informe sugirió que el problema es un diario corrupto. Como se describe en el informe de errores, puede ejecutar hg verify para ver la última confirmación "válida" y usar hg clone -r <#> para recuperar hasta esa confirmación.

Creo que esto es realmente un error en el código fuente. Debe informar el error al equipo de Mercurial como se dijo en el post de error.

Estaba usando el server TeamCity CI y Deployment, así que, probablemente, este es otro problema, pero he publicado la respuesta a la pregunta similar .