我最近尝试推送到中央存储库并收到错误:发现已放弃的事务。运行 hg recover 表示没有丢失事务。根据另一个答案的建议,我使用 hg verify 来查看我的存储库缺少两个 revlog;下面是运行 hg verify 的结果:
% hg --repository C:\dev\WHDLawWeb verify --verbose
repository uses revlog format 1
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
data/WHDLawWeb/Images/pastsponsorships.jpg.d@167: missing revlog!
data/WHDLawWeb/WHDLawWeb/Resources/Image/ALFALogoWhite.jpg.i@319: missing revlog!
7175 files, 988 changesets, 14987 total revisions
2 integrity errors encountered!
(first damaged changeset appears to be 167)
[command returned code 1 Tue Jul 03 15:02:13 2012]
为了纠正这个问题,主要是由于我在这一点上的挫败感,我决定只克隆中央存储库,因为我只会丢失一些修订。但是,一旦我尝试从这个克隆的存储库推送,我会收到以下错误报告:
** Mercurial version (2.2.2). TortoiseHg version (2.4.1)
** Command: --nofork workbench
** CWD: C:\dev
** Encoding: cp1252
** Extensions loaded: bugzilla, graphlog, convert, extdiff
** Python version: 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)]
** Windows version: (6, 1, 7601, 2, 'Service Pack 1')
** Processor architecture: x86
** Qt-4.7.4 PyQt-4.8.6
Traceback (most recent call last):
File "tortoisehg\hgqt\repowidget.pyo", line 954, in repositoryChanged
File "tortoisehg\hgqt\repowidget.pyo", line 916, in rebuildGraph
File "tortoisehg\hgqt\repowidget.pyo", line 777, in setupModels
File "tortoisehg\hgqt\repomodel.pyo", line 151, in __init__
File "tortoisehg\hgqt\repomodel.pyo", line 170, in initBranchColors
File "mercurial\localrepo.pyo", line 523, in branchtags
File "mercurial\changelog.pyo", line 195, in read
File "mercurial\revlog.pyo", line 926, in revision
File "mercurial\revlog.pyo", line 849, in _chunkbase
File "mercurial\revlog.pyo", line 846, in _chunk
File "mercurial\revlog.pyo", line 115, in decompress
error: Error -5 while decompressing data: incomplete or truncated stream
Traceback (most recent call last):
File "tortoisehg\hgqt\commit.pyo", line 533, in repositoryChanged
File "tortoisehg\hgqt\commit.pyo", line 553, in refresh
File "tortoisehg\hgqt\thgrepo.pyo", line 631, in thgmqappliedpatch
File "tortoisehg\hgqt\thgrepo.pyo", line 623, in _thgmqpatchtags
File "mercurial\context.pyo", line 191, in tags
File "mercurial\localrepo.pyo", line 468, in nodetags
File "mercurial\util.pyo", line 237, in __get__
File "mercurial\localrepo.pyo", line 395, in _tagscache
File "mercurial\localrepo.pyo", line 428, in _findtags
File "mercurial\tags.pyo", line 30, in findglobaltags
File "mercurial\tags.pyo", line 242, in _readtagcache
File "mercurial\context.pyo", line 251, in filenode
File "mercurial\context.pyo", line 240, in _fileinfo
File "mercurial\context.pyo", line 183, in files
File "mercurial\util.pyo", line 237, in __get__
File "mercurial\context.pyo", line 134, in _changeset
File "mercurial\changelog.pyo", line 195, in read
File "mercurial\revlog.pyo", line 926, in revision
File "mercurial\revlog.pyo", line 849, in _chunkbase
File "mercurial\revlog.pyo", line 846, in _chunk
File "mercurial\revlog.pyo", line 115, in decompress
error: Error -5 while decompressing data: incomplete or truncated stream
在中央存储库上运行 hg verify 表明这里也缺少两个 revlog。如果有人知道如何修复我的原始或克隆存储库,我将不胜感激。
在这里也尝试了一个解决方案,遇到了同样的问题。我对 mercurial 和 tortiosehg 比较陌生,请原谅任何愚蠢的错误。就像我说的帮助将不胜感激。