Mercurial: "verlassen Sie die Transaktion gefunden - run hg wiederherstellen". Wiederherstellen funktioniert nicht
Verwendung von tortoise hg auf windows, ich habe ein pull aus einem repository auf meinem lokalen Laufwerk auf ein repository auf einem usb-stick.
Während des pull ich denke, es war ein Fehler in der usb-Verbindung, da wurde es abgebrochen, auf halbem Weg durch.
Kann ich jetzt nicht ziehen Sie wieder. Ich bekomme die Meldung: abandoned transaction found - run hg recover
Wenn ich hg wiederherzustellen, bekomme ich folgende Meldung:
rolling back interrupted transaction
** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or [email protected]
** 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
Wenn ich versuche, das rollback manuell bekomme ich die Meldung: no rollback information available
Dieser Zeit kann ich ganz einfach löschen Sie einfach den gesamten backup auf meinem stick und eine neue ziehen, weil die repo ist klein und der usb-stick enthält keine anderen änderungen. Aber was ist, wenn dies geschieht auf einer größeren repo, wo ich nicht leisten können, zu starten "from scratch"? Wie kann ich wieder die repo?
- Es gibt keine Garantie dafür, dass die Erholung werden in der Lage, alle Arten von Korruption, manchmal repository ist wirklich gehimmelt nicht mehr zu reparieren und ein backup - /reclone ist alles, was Sie tun können. Ich nehme an, Sie sind sodass Sie immer Fragen, Windows Auswerfen/schließen Sie Ihr USB-Laufwerk, bevor Sie es abziehen?
- Natürlich versuche ich immer zu tun, die sichere Entfernung, aber dieses mal der Draht befestigt war Locker. Kann dies wirklich die Ursache des ganzen repo-Kontrolle? Ich dachte, alles war fertig mit Transaktionen ala sql so können Sie immer ein Rollback, wenn etwas schlecht geht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich erlebt ein ähnliches Problem und berichtet, es als einen bug, und die Entwickler auf den Bericht vorgeschlagen, das problem ist eine beschädigte journal. Wie beschrieben in dem Bericht, den Sie ausführen können
hg verify
zu sehen, die Letzte "gute" zu Begehen, und verwenden Siehg clone -r <#>
zu erholen bis zu diesem commit.Ich denke, das ist tatsächlich ein bug in der code-Quelle. Sollten Sie den Fehler melden um die Mercurial-team wie gesagt in der Fehlermeldung.
3.0+3
- zurückgesetzt auf die version2.5.2
: bitbucket.org/tortoisehg/files/downloads/... und dem rollback-Befehl übergeben.War ich mit dem TeamCity CI-und Deployment-server, so, wahrscheinlich, dies ist ein anderes Thema, aber ich habe die Antwort gepostet der ähnliche Frage.