Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mercurial Missing Revlog

I'm receiving a "missing revlog" error when using Mercurial (via TortoiseHg). Does anybody know how to fix this repo?

% hg --repository C:\Source\Project verify --verbose
repository uses revlog format 1
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
data/MyProject.Class.Library.Tests/Part/FileName.cs.orig.i@1: missing revlog!
1: empty or missing MyProject.Class.Library.Tests/Part/FileName.cs.orig
MyProject.Class.Library.Tests/Part/FileName.cs.orig@1: fb25dd9d5f41 in manifests not found
4384 files, 1354 changesets, 12803 total revisions
3 integrity errors encountered!
(first damaged changeset appears to be 1)
[command returned code 1 Wed May 11 13:31:14 2011]
like image 718
Guy Avatar asked May 11 '11 21:05

Guy


2 Answers

You can try to use convert extension with convert.hg.ignoreerrors set to True, as described on the wiki. Keep in mind that this will modify the hashes, and damaged files will probably be lost completely.

like image 146
Cat Plus Plus Avatar answered Oct 15 '22 10:10

Cat Plus Plus


The Mercurial wiki has a page on Repository Corruption. If the solution suggested by @Cat Plus Plus does not work for you, then you may attempt to reconstruct the revlog.

There is a section with step-by-step instructions for reconstructing missing revlogs. However, you must have a copy o the problem file as it existed in the "bad" revision.

In your case, you would need an exact copy of data/MyProject.Class.Library.Tests/Part/FileName.cs.orig as it existed in revision 1 of the repo.

like image 25
Tim Henigan Avatar answered Oct 15 '22 10:10

Tim Henigan