##// END OF EJS Templates
parsers.c: remove warning: 'size' may be used uninitialized in this function...
parsers.c: remove warning: 'size' may be used uninitialized in this function Some compilers / compiler options (such as gcc 4.7) would emit warnings: mercurial/parsers.c: In function 'pack_dirstate': mercurial/parsers.c:306:18: warning: 'size' may be used uninitialized in this function [-Wmaybe-uninitialized] mercurial/parsers.c:306:12: warning: 'mode' may be used uninitialized in this function [-Wmaybe-uninitialized] It is apparently not smart enough to figure out how the 'err' arithmetics makes sure that it can't happen. 'err' is now replaced with simple checks and goto. That might also help the optimizer when it is inlining getintat().

File last commit:

r15886:a5917346 default
r17165:249cc4ec default
Show More
test-fncache.t
119 lines | 2.2 KiB | text/troff | Tads3Lexer
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 ..