view tests/test-fncache.out @ 9827:4fe9ca519637

mdiff: fix diff -b/B/w on mixed whitespace hunks (issue127) Previous code was computing hunks then checking if these hunks could be ignored when taking whitespace/blank-lines options in accounts. This approach is simple but fails with hunks containing both whitespace and non-whitespace changes, the whole hunk is emitted while it can be mostly made of whitespace. The new version normalize the whitespaces before hunk generation, and test for blank-lines afterwards.
author Patrick Mezard <pmezard@gmail.com>
date Wed, 11 Nov 2009 18:31:42 +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