Corrupted repository... help?
Matt Mackall
mpm at selenic.com
Mon Nov 5 10:53:54 CST 2007
On Mon, Nov 05, 2007 at 11:13:08AM +0100, Niko Matsakis wrote:
> > I just upgraded to 10.5 and had some issues with the latest forest
> > extension and
> > Mercurial 0.9.5, but no corruption issues. This sounds like a disk
> > corruption issue, I'd run the Mac OS disk utility
> > and scan your disk for problems.
>
> I have done so, but no problems were detected. I'm not sure if there
> is a more thorough way of checking than "Verify Disk." Can you
> explain to me what the error message means, and how it might indicate
> a disk failure? (as opposed to an internal bug in Mercurial)
As an aside, OS X's disk scanning utility is next to useless. The only
way to know what sort of shape your disk is in is to read all the data
off it, and any scan that completes in less than a minute is clearly
not doing that.
> > Did you do a backup before you installed 10.5?
>
> Yes, of course... on a whim, I tried experimenting with the .hg
> directory from the backup.
>
> First, I checked whether the backup exhibited a similar error, which
> it did not:
>
> > $ cd /Path/To/Backup
> > $ hg status
The interesting command here is 'verify'.
> Then, I made a copy of my repository and copied the .hg directory from
> the backup. I found that it exhibited the same error:
>
> > $ cd /Path/To/Copy/Of/Repository
> > $ mv .hg .hg.1
> > $ cp -r /Path/To/Backup/.hg .
> > $ hg status
> > abort: data/Misc.vpdoc/store.vpsqlite.i: no node
> > f6bd5f13be26f08a5e183b958f14b73b241638b2!
>
> I'm not precisely sure what this means. I guess it means that the
> error lies in something in the state of the files, not the .hg
> contents.
That's a little weird.
> In fact, thanks to the hourly backups performed by Time
> Machine, I also have a "before" and "after", but it seems that the
> problem originated over a weekend when I wasn't backing up hourly, so
> it's not terribly precise.
>
> I did a diff -r nonetheless, but most of the entries were of the sort
> "binary files X and Y differ", so it wasn't terribly enlightening.
> The only thing I thought was interesting was that, while the file
> store.vpsqlite had changed, the corresponding store/data/.../
> store.vpsqlite.i had not. I guess that this means I didn't check this
> change in yet? Or does it mean anything at all?
Sounds like it wasn't checked in, yes.
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list