# HG changeset patch # User Jun Wu # Date 2017-03-31 00:58:03 # Node ID f424fb180fea18835e7f96feff8b6141fff5ec8e # Parent 2133437dad174cabab4c23a937d550e04b2f9424 revlog: use raw content when building delta Using external content provided by flagprocessor when building revlog delta is wrong, because deltas are applied to raw contents in revlog. This patch fixes the above issue by adding "raw=True". test-revlog-raw.py now shows "local test passed", but there is more to fix. diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -1635,7 +1635,7 @@ class revlog(object): fh = ifh else: fh = dfh - ptext = self.revision(rev, _df=fh) + ptext = self.revision(rev, _df=fh, raw=True) delta = mdiff.textdiff(ptext, t) header, data = self.compress(delta) deltalen = len(header) + len(data) diff --git a/tests/test-revlog-raw.py.out b/tests/test-revlog-raw.py.out --- a/tests/test-revlog-raw.py.out +++ b/tests/test-revlog-raw.py.out @@ -1,1 +1,2 @@ -abort: crashed: integrity check failed on _testrevlog.i:11 +local test passed +abort: crashed: invalid patch