Abort: no match found!

Peter Arrenbrecht peter.arrenbrecht at gmail.com
Tue Mar 11 02:05:52 CDT 2008

On Tue, Mar 11, 2008 at 2:14 AM, Matt Mackall <mpm at selenic.com> wrote:
>  On Mon, 2008-03-10 at 16:35 -0500, Brad Miller wrote:
>  > After removing via hg rm  a couple of large directories  from my
>  > project today I now get the following error message when I try to
>  > commit or stat my project.
>  >
>  > bmiller at cray> hg stat
>  > abort: No match found!
>  Run that again with --traceback and --debug, please.
>  > [255] bmiller at cray> hg verify
>  > checking changesets
>  > checking manifests
>  > crosschecking files in changesets and manifests
>  > checking files
>  >   .DS_Store at 0: 727ee90a3730 in manifests not found
>  >   ClassPlan.oo3/.OABK at 0: b80de5d13875 in manifests not found
>  >   Code/jPhoto/Library/.DS_Store at 0: f26d0837f265 in manifests not found
>  >   ExternalResources/corejava/.DS_Store at 0: 9e7bae44a5a5 in manifests
>  > not found
>  > 1276 files, 49 changesets, 1372 total revisions
>  > 4 integrity errors encountered!
>  First thing to know is this has absolutely nothing to do with the above
>  problem. 'verify' checks the contents of the repository only and doesn't
>  look at the working directory at all.
>  The above is saying "at some point you checked in a file called x, and
>  now that seems to be missing". For every file ever checked in, there's a
>  file in .hg/store/data/path/to/file.i (and sometimes .d) where that
>  file's data is stored. And I suspect the corresponding files have gone
>  missing.
>  My suspicion is that you did something silly like "find -name
>  '.DS_Store' | xargs rm". Oops.

Been there too. :(

>  Normally, you could mostly recover by truncating your history back to
>  the point where the corruption occurred. But these files were all in
>  revision 0 (the "@0" bit) at the beginning of your history.

I was at the time nearly able to recover it by copying missing files
from an older backup of the repo. So now I'm thinking: wouldn't a
command that fixes a repo by restoring accidentally deleted store data
from an older backup be handy? Can this be done? My understanding of
the store would say yes. I might give this a try, but if anyone knows
right away it cannot be done, please tell me before I waste time.


More information about the Mercurial mailing list