--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-fncache.t Thu Aug 12 17:30:12 2010 +0200
@@ -0,0 +1,108 @@
+Init repo1:
+
+ $ hg init repo1
+ $ cd repo1
+ $ echo "some text" > a
+ $ hg add
+ adding a
+ $ hg ci -m first
+ $ cat .hg/store/fncache
+ data/a.i
+
+Testing a.i/b:
+
+ $ mkdir a.i
+ $ echo "some other text" > a.i/b
+ $ hg add
+ adding a.i/b
+ $ hg ci -m second
+ $ cat .hg/store/fncache
+ data/a.i
+ data/a.i.hg/b.i
+
+Testing a.i.hg/c:
+
+ $ mkdir a.i.hg
+ $ echo "yet another text" > a.i.hg/c
+ $ hg add
+ adding a.i.hg/c
+ $ hg ci -m third
+ $ cat .hg/store/fncache
+ data/a.i
+ data/a.i.hg/b.i
+ data/a.i.hg.hg/c.i
+
+Testing verify:
+
+ $ 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)
+ $ cd ..
+
+Non store repo:
+
+ $ hg --config format.usestore=False init foo
+ $ cd foo
+ $ mkdir tst.d
+ $ echo foo > tst.d/foo
+ $ hg ci -Amfoo
+ adding tst.d/foo
+ $ find .hg | sort
+ .hg
+ .hg/00changelog.i
+ .hg/00manifest.i
+ .hg/data
+ .hg/data/tst.d.hg
+ .hg/data/tst.d.hg/foo.i
+ .hg/dirstate
+ .hg/last-message.txt
+ .hg/requires
+ .hg/undo
+ .hg/undo.branch
+ .hg/undo.desc
+ .hg/undo.dirstate
+ $ cd ..
+
+Non fncache repo:
+
+ $ hg --config format.usefncache=False init bar
+ $ cd bar
+ $ mkdir tst.d
+ $ echo foo > tst.d/Foo
+ $ hg ci -Amfoo
+ adding tst.d/Foo
+ $ find .hg | sort
+ .hg
+ .hg/00changelog.i
+ .hg/dirstate
+ .hg/last-message.txt
+ .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.desc
+ .hg/undo.dirstate
+ $ cd ..
+