Verify error in hg:jdk/jdk -- repository now READ-ONLY

Aleksey Shipilev shade at redhat.com
Thu Jul 25 05:54:20 UTC 2019


On 7/25/19 1:02 AM, Iris Clark wrote:
> hg:jdk/jdk is now open and verifies.  Even if your local repository is
> corrupt, you may continue using it.  The corruption does not propagate
> via pushes, since changeset IDs are unchanged.

Thanks. Any clue what happened?

> If you want to work with a repository which verifies, you should do a
> fresh clone of hg:jdk/jdk.  Confident users can create a new repository
> by cloning the corrupt repository up to the damaged changeset (`hg clone
> -r 55760 corrupt fixed`) and then pulling the remaining changesets from
> hg:jdk/jdk (hg pull -u).

The following now works too, as the tarball is from July 15, not containing the broken changesets:

$ curl https://builds.shipilev.net/workspaces/jdk-jdk.tar.xz | tar xJf -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  594M  100  594M    0     0  16.4M      0  0:00:36  0:00:36 --:--:-- 14.4M

$ cd jdk-jdk
$ hg pull
pulling from https://hg.openjdk.java.net/jdk/jdk
searching for changes
adding changesets
adding manifests
adding file changes
added 119 changesets with 472 changes to 405 files
new changesets 4b1de39beda3:6073b2290c0a
(run 'hg update' to get a working copy)

$ hg verify
checking changesets
checking manifests

crosschecking files in changesets and manifests
checking files

184126 files, 55796 changesets, 479563 total revisions


As the surgical measure to repair my local repository, I then copied entire .hg to my working copy.
This left my (unpushed) mq stack and lots of local working files untouched. YMMV, so back up before
attempting this:

$ cp -r ~/temp/jdk-jdk/.hg/* ~/trunks/jdk-jdk/.hg/

-- 
Thanks,
-Aleksey



More information about the jdk-dev mailing list