How to fix/investigate a corrupted repo?

Long Vu long.vu at intelerad.com
Fri Dec 6 21:24:10 UTC 2013


Hi,

My co-worker did a Ctrl-C during another mercurial operation, then did
a rollback and now his repo appears to be corrupted.

hg verify

checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
 Web/Portal/source/com/intelerad/web/portal/gwt/server/PortalPatientService.java at 134048:
broken revlog! (index
data/Web/Portal/source/com/intelerad/web/portal/gwt/server/PortalPatientService.java.i
is corrupted)
warning: orphan revlog
'data/Web/Portal/source/com/intelerad/web/portal/gwt/server/PortalPatientService.java.i'
warning: orphan revlog
'data/Web/Portal/source/com/intelerad/web/portal/gwt/server/PortalPatientService.java.d'
56960 files, 147298 changesets, 380139 total revisions
2 warnings encountered!
1 integrity errors encountered!
(first damaged changeset appears to be 134048)


So I thought maybe I could just strip that damaged changeset and pull
again from upstream but strip doesn't work.

hg strip 134048

abort: index data/Web/Portal/source/com/intelerad/web/portal/gwt/server/PortalPatientService.java.i
is corrupted!


I ended up re-cloning everything which of course fixed the problem.

However, is there other ways to fix this kind of corruption error than
re-cloning from scratch?

I still have a copy of the corrupted repo for playing around / investigating.

Mercurial 2.5.4, python 2.6.6, RHEL 6.4 64-bits.

Thanks,


-- 
Long Vu | Build Controller | Intelerad | +1-514-931-6222 ext. 7743

-- 

This email or any attachments may contain confidential or legally 
privileged information intended for the sole use of the addressees. Any 
use, redistribution, disclosure, or reproduction of this information, 
except as intended, is prohibited. If you received this email in error, 
please notify the sender and remove all copies of the message, including 
any attachments.




More information about the Mercurial mailing list