Mercurial > hg
view tests/test-fncache.out @ 11541:ab9fa7a85dd9 stable
filelog: cmp: don't read data if hashes are identical (issue2273)
filelog.renamed() is an expensive call as it reads the filelog if p1 == nullid.
It's more efficient to first compute the hash, and to bail early if
the computed hash is the same as the stored nodeid.
'samehashes' variable is not strictly necessary, but helps for comprehension.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Mon, 05 Jul 2010 19:49:54 +0900 |
parents | a685011ed38e |
children |
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/last-message.txt .hg/requires .hg/undo .hg/undo.branch .hg/undo.desc .hg/undo.dirstate % non fncache repo adding tst.d/Foo .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