Bryan O'Sullivan <bos@serpentine.com> [Sat, 29 Sep 2007 21:08:14 -0700] rev 5343
convert: delete empty directories if deleting a file (bug 754)
Matt Mackall <mpm@selenic.com> [Thu, 27 Sep 2007 23:59:18 -0500] rev 5342
bdiff: switch to lyhash
lyhash is a very simple and fast hash function that had the fewest
hash collisions on a 3.9M line text corpus and 190k line binary corpus
and should have significantly fewer collisions than the current hash
function.
Matt Mackall <mpm@selenic.com> [Thu, 27 Sep 2007 23:59:02 -0500] rev 5341
bdiff: use INT_MAX to avoid some inner loop comparisons
Christoph Spiel <cspiel@freenet.de> [Thu, 27 Sep 2007 23:58:54 -0500] rev 5340
bdiff: simple splitlines optimization
Christoph Spiel <cspiel@freenet.de> [Thu, 27 Sep 2007 23:57:57 -0500] rev 5339
I have spotted the biggest bottleneck in "bdiff.c". Actually it was
pretty easy to find after I recompiled the python interpreter and
mercurial for profiling.
In "bdiff.c" function "equatelines" allocates the minimum hash table
size, which can lead to tons of collisions. I introduced an
"overcommit" factor of 16, this is, I allocate 16 times more memory
than the minimum value. Overcommiting 128 times does not improve the
performance over the 16-times case.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 26 Sep 2007 01:58:45 -0300] rev 5338
revlog: fix revlogio.packentry corner case
We want to store version information about the revlog in the first
entry of its index. The code in packentry was using some heuristics
to detect whether this was the first entry, but these heuristics could
fail in some cases (e.g. rev 0 was empty; rev 1 descends directly from
the nullid and is stored as a delta).
We now give the revision number to packentry to avoid heuristics.
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 25 Sep 2007 19:05:34 +0200] rev 5337
Don't try to determine interactivity if ui() called with interactive=False.
WSGI applications are not supposed to refer to sys.stdin. In ed6df6b1c29a,
hgweb and hgwebdir were fixed to pass interactive=False to their ui()'s, but
sys.stdin.isatty() was still called by the ui objects. This change makes sure
only the ui.fixconfig() method will call ui.isatty() (by making the
ui._readline() method, which is currently only called from ui.prompt(),
private). ui.fixconfig() is changed to let config files override the initial
interactivity setting, but not check isatty() if interactive=False was
specified in the creation of the ui.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:14:18 -0300] rev 5336
Merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5335
convert_git: avoid returning two entries for the same file in getchanges
This could happen in merge changesets if the merged file was different
from both parents.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5334
mq: fix qrefresh -e with no patches applied