views:

130

answers:

1

I just finished cloning the (huge) netbeans repository for the second time. I found that I couldn't successfully pull changes, after my first attempt to clone, earlier this week. I guessed that some intermittent error had corrupted the repository the first time around... that appears not to be the case.

  • I'm using hg 1.3.1 on Ubuntu 9.4 (32-bit).
  • I cloned with hg clone http://hg.netbeans.org/main main
  • hg verify (below) ends with:
    9 warnings encountered!
    9 integrity errors encountered!
  • incidentally, the size of 00manifest.d is 1.1GiB, is that normal?

What could be causing this? Where does one even report this kind of error? (assuming for the moment that it's not a PEBKAC.)

This should give you an idea of what I'm seeing (repetitive bits removed to save space):

[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!
+3  A: 

First, no it's not a PEBKAC. The errors from verify are fixable, the best way is probably to contact a Mercurial dev to write a script fixing the broken linkrevs.

The huge manifest could be dealt with contrib/shrink-revlog.py, from a quick testing I think it would shrink to approximately 50MB.

tonfa
looks like i may have found someone on the java posse group who knows how to look into this.
bendin