我刚刚完成克隆(巨大的)netbeans存储库 第二次。我发现我不能 本周早些时候,在我第一次尝试克隆之后成功地进行了更改。 我猜想有一些间歇性错误了 第一次破坏了存储库...似乎没有 是这样的。
hg clone http://hg.netbeans.org/main main
hg verify
(下方)以:
9 warnings encountered! 9 integrity errors encountered!
可能导致这种情况的原因是什么?哪里甚至报告这种错误? (暂时假设它不是PEBKAC。)
这应该让你知道我所看到的(删除重复位以节省空间):
[smithma@oberon:~/w/netbeans/main] $ { hg --version ; echo ; echo ; hg --debug verify ; } | tee ../netbeans-main-hg-verify.txt Mercurial Distributed SCM (version 1.3.1) Copyright (C) 2005-2009 Matt Mackall and others This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. manifest@?: rev 149491 points to unexpected changeset 149752 (expected 149754) [...SNIP...] repository uses revlog format 1 checking changesets checking manifests crosschecking files in changesets and manifests checking files applemenu/src/org/netbeans/modules/applemenu/layer.xml@?: rev 12 points to unexpected changeset 149753 (expected 41473 46378 56815 59563 66079 70568 71017 83303 103972 105432 135060 137239 147766 149755) warning: cnd.repository/src/org/netbeans/modules/cnd/repository/disk/UnitImpl.java@74688: copy source revision is nullid cnd.repository/src/org/netbeans/modules/cnd/repository/disk/UnitDiskRepository.java:000000000000 [...SNIP...] defaults/src/org/netbeans/modules/defaults/mf-layer.xml@?: rev 74 points to unexpected changeset 149753 (expected 25730 25732 25733 25741 25746 25747 25752 25768 26270 26561 27350 27495 27539 27566 27776 28203 28741 29191 29244 29364 29582 32476 33848 34406 35712 35713 36197 38355 40775 40854 42144 43593 44912 46378 46644 46697 46757 48145 48325 49166 50888 54548 54616 54618 55792 56816 56868 56895 56915 57513 58323 59288 59456 59563 59709 60225 66549 67160 67595 76198 77297 85585 86938 87361 93609 93755 113163 113177 117980 117992 124182 124475 135060 147766 149755) [...SNIP...] 118132 files, 151874 changesets, 591274 total revisions 9 warnings encountered! 9 integrity errors encountered!
答案 0 :(得分:3)
首先,不,它不是PEBKAC。来自验证的错误是可以修复的,最好的方法可能是联系Mercurial dev来编写修复损坏的linkrevs的脚本。
巨大的清单可以通过快速测试来处理contrib/shrink-revlog.py
,我认为它会缩减到大约50MB。