在从Mercurial(Kiln)克隆大(4 GB)回购的过程中出现一些zlib错误。
接下来我应该做什么?从头开始删除并尝试,或者我可以hg pull -u
吗?
在克隆过程中出现一些错误后,本地存储库是否会处于一致状态?
更新以澄清问题:克隆存储库成功,但某些子存储库的克隆失败。这会改变什么吗?
答案 0 :(得分:2)
如果在克隆大型存储库时遇到错误,Mercurial将自动中止该事务。回滚事务时,Mercurial将清理所有内容。对于hg clone
,遗憾的是这意味着已经下载的变更集已经消失。所以你可以安全地重新克隆。
然而,从你提出问题的方式来看,听起来好像在中止之后还剩下一些东西。所以我猜你开始在中途流产的hg pull
?同样适用于pull:中止将回滚事务,您可以安全地重新启动hg pull
。
中止拉动看起来像这样:
$ hg pull http://localhost:8000
pulling from http://localhost:8000/
searching for changes
adding changesets
transaction abort!
rollback completed
abort: stream ended unexpectedly (got 12 bytes, expected 503)
我在我的计算机上启动hg serve
并从该服务器开始拉取。然后我在拉动中间杀了hg serve
。客户端中止并回滚了事务。