hg repo has empty or missing revlogs
Matt Mackall
mpm at selenic.com
Wed Oct 1 18:33:23 UTC 2008
On Wed, 2008-10-01 at 12:13 -0400, Sanjoy Mahajan wrote:
> Several colleagues are using hg for a course, and they often manage to
> corrupt the repo. It's the same error each time (see the 'hg verify'
> output below).
>
> The repo lives on a Solaris server with an AFS filesystem, and it runs
> hg v1.0.1. The clients use various version of hg on Ubuntu and Macs
> (maybe even a windows machine too) and push via ssh.
>
> Could the problem be caused by ^C'ing the push? (Sometimes the server
> is very slow and people get impatient.)
^C should be fine. Mercurial will detect an interrupted transaction and
roll it back.
> The output of 'hg verify' is:
>
> $ hg verify
> checking changesets
> checking manifests
> crosschecking files in changesets and manifests
> checking files
> codeDist/#dist.py#@55: empty or missing revlog
> codeDist/.#dist.py at 55: empty or missing revlog
> codeSandbox/#SM.py#@6: empty or missing revlog
> codeSandbox/#interpret.py#@23: empty or missing revlog
> codeSandbox/#sm.py#@66: empty or missing revlog
> codeSandbox/#smBrain.py#@49: empty or missing revlog
> codeSandbox/#smBrainPlotExample.py#@49: empty or missing revlog
> codeSandbox/.#SM.py at 6: empty or missing revlog
> codeSandbox/.#interpret.py at 23: empty or missing revlog
> codeSandbox/.#sm.py at 66: empty or missing revlog
> codeSandbox/.#smBrain.py at 49: empty or missing revlog
> codeSandbox/.#smBrainPlotExample.py at 49: empty or missing revlog
> labs/#env_labs.tex#@155: empty or missing revlog
> lectures/#lec05.tex#@109: empty or missing revlog
> lectures/.#lec05.tex at 109: empty or missing revlog
> readings/#env_readings.tex#@157: empty or missing revlog
> readings/.#env_readings.tex at 157: empty or missing revlog
> readings/OOPandEnvtModel/#oopenv.tex#@117: empty or missing revlog
> readings/OOPandEnvtModel/.#oopenv.tex at 232: empty or missing revlog
> readings/intro/#intro.tex#@22: empty or missing revlog
> readings/intro/.#intro.tex at 22: empty or missing revlog
> readings/robotManual/#robot.tex#@72: empty or missing revlog
> readings/robotManual/.#robot.tex at 41: empty or missing revlog
Notice a pattern in these names? They're all temporary files that got
checked in by mistake. I suspect if you dig a little deeper you'll
either find that users recursively deleted these files (accidentally
clobbering the ones in .hg) or an automated tool did. Or, if you have
really special users, they may have intentionally deleted them.
> 898 files, 268 changesets, 1996 total revisions
It looks like after 232 revisions, they learned to stop checking in
temporary files though.
You can clean up this repo by using the hg convert extension and
--filemap to filter out the temporary files.
In the future, please write to mercurial at selenic.com, as I generally
don't answer Mercurial questions privately.
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list