view tests/test-fncache.out @ 9693:c40a1ee20aa5

transaction: always remove empty journal on abort When transactions without entries were aborted, the journal (of size 0) was not unlinked, which prevents subsequent operations until hg recover is run on the repository. We also make sure the journal is unlinked when committing, even if the provided hook doesn't do so.
author Sune Foldager <cryo@cyanite.org>
date Mon, 02 Nov 2009 10:19:14 +0100
parents 2816239e0020
children 720f70b720d3
line wrap: on
line source

% init repo1

% add a; ci
adding a

% cat .hg/store/fncache
data/a.i

% add a.i/b; ci
adding a.i/b

% cat .hg/store/fncache
data/a.i
data/a.i.hg/b.i

% add a.i.hg/c; ci
adding a.i.hg/c

% cat .hg/store/fncache
data/a.i
data/a.i.hg/b.i
data/a.i.hg.hg/c.i

% hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
3 files, 3 changesets, 3 total revisions

% rm .hg/store/fncache

% hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
 data/a.i@0: missing revlog!
 data/a.i.hg/c.i@2: missing revlog!
 data/a.i/b.i@1: missing revlog!
3 files, 3 changesets, 3 total revisions
3 integrity errors encountered!
(first damaged changeset appears to be 0)
% non store repo
adding tst.d/foo
.hg
.hg/00changelog.i
.hg/00manifest.i
.hg/data
.hg/data/tst.d.hg
.hg/data/tst.d.hg/foo.i
.hg/dirstate
.hg/requires
.hg/undo
.hg/undo.branch
.hg/undo.dirstate
% non fncache repo
adding tst.d/Foo
.hg
.hg/00changelog.i
.hg/dirstate
.hg/requires
.hg/store
.hg/store/00changelog.i
.hg/store/00manifest.i
.hg/store/data
.hg/store/data/tst.d.hg
.hg/store/data/tst.d.hg/_foo.i
.hg/store/undo
.hg/undo.branch
.hg/undo.dirstate