Patrick Mezard <pmezard@gmail.com> [Fri, 18 Nov 2011 14:23:03 +0100] rev 15530
mdiff: replace wscleanup() regexps with C loops
On my system it reduces:
hg annotate -w mercurial/commands.py
from 36s to less than 8s, to be compared with 6.3s when run without whitespace
options.
Patrick Mezard <pmezard@gmail.com> [Fri, 18 Nov 2011 14:16:47 +0100] rev 15529
mdiff: split lines in allblocks() only when necessary
These are only required to handle the --ignore-blank-lines case
Patrick Mezard <pmezard@gmail.com> [Fri, 18 Nov 2011 12:04:31 +0100] rev 15528
annotate: support diff whitespace filtering flags (issue3030)
splitblock() was added to handle blocks returned by bdiff.blocks() which differ
only by blank lines but are not made only of blank lines. I do not know exactly
how it could happen but mdiff.blocks() threshold behaviour makes me think it
can if those blocks are made of very popular lines mixed with popular blank
lines. If it is proven to be wrong, the function can be dropped.
The first implementation made annotate share diff configuration entries. But it
looks like users will user -w/b for annotate but not for diff, on both the
command line and hgweb. Since the latter cannot use command line entries, we
introduce a new [annotate] section duplicating the diff whitespace options.
Pascal Quantin <pascal.quantin@gmail.com> [Sun, 20 Nov 2011 19:14:36 +0100] rev 15527
setup: fix py2exe generation broken by c3a6ec304055 (issue3116)
Py2exe is patching default distutils Distribution class. This patch ensures
that the right one is taken when calling hgdist class.
Patrick Mezard <pmezard@gmail.com> [Fri, 18 Nov 2011 12:01:04 +0100] rev 15526
mdiff: make diffblocks() return all blocks, matching and changed
Annotate uses matching blocks not changed ones.
Patrick Mezard <pmezard@gmail.com> [Fri, 18 Nov 2011 11:53:38 +0100] rev 15525
mdiff: extract blocks whitespace normalization in diffblocks()
We want to reuse it in annotate for whitespace normalization.