summaryrefslogtreecommitdiff
path: root/tests/test-fncache.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-fncache.t')
-rw-r--r--tests/test-fncache.t119
1 files changed, 119 insertions, 0 deletions
diff --git a/tests/test-fncache.t b/tests/test-fncache.t
new file mode 100644
index 0000000..643088c
--- /dev/null
+++ b/tests/test-fncache.t
@@ -0,0 +1,119 @@
+Init repo1:
+
+ $ hg init repo1
+ $ cd repo1
+ $ echo "some text" > a
+ $ hg add
+ adding a
+ $ hg ci -m first
+ $ cat .hg/store/fncache | sort
+ data/a.i
+
+Testing a.i/b:
+
+ $ mkdir a.i
+ $ echo "some other text" > a.i/b
+ $ hg add
+ adding a.i/b (glob)
+ $ hg ci -m second
+ $ cat .hg/store/fncache | sort
+ 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 (glob)
+ $ hg ci -m third
+ $ cat .hg/store/fncache | sort
+ data/a.i
+ data/a.i.hg.hg/c.i
+ data/a.i.hg/b.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)
+ [1]
+ $ 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/cache
+ .hg/cache/branchheads
+ .hg/data
+ .hg/data/tst.d.hg
+ .hg/data/tst.d.hg/foo.i
+ .hg/dirstate
+ .hg/last-message.txt
+ .hg/phaseroots
+ .hg/requires
+ .hg/undo
+ .hg/undo.bookmarks
+ .hg/undo.branch
+ .hg/undo.desc
+ .hg/undo.dirstate
+ .hg/undo.phaseroots
+ $ 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/cache
+ .hg/cache/branchheads
+ .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/phaseroots
+ .hg/store/undo
+ .hg/store/undo.phaseroots
+ .hg/undo.bookmarks
+ .hg/undo.branch
+ .hg/undo.desc
+ .hg/undo.dirstate
+ $ cd ..
+