Thu, 27 Sep 2007 23:57:57 -0500 I have spotted the biggest bottleneck in "bdiff.c". Actually it was
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.
Wed, 26 Sep 2007 01:58:45 -0300 revlog: fix revlogio.packentry corner 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.
Tue, 25 Sep 2007 19:05:34 +0200 Don't try to determine interactivity if ui() called with interactive=False.
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.
Mon, 24 Sep 2007 19:14:18 -0300 Merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:14:18 -0300] rev 5336
Merge with crew-stable
Mon, 24 Sep 2007 19:00:11 -0300 convert_git: avoid returning two entries for the same file in getchanges
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.
Mon, 24 Sep 2007 19:00:11 -0300 mq: fix qrefresh -e with no patches applied
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
Mon, 24 Sep 2007 19:00:11 -0300 Push over HTTP: really tell the user the size of the bundle
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5333
Push over HTTP: really tell the user the size of the bundle
Mon, 24 Sep 2007 19:00:11 -0300 hgwebdir: ignore hgrc parse errors while building the index page
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5332
hgwebdir: ignore hgrc parse errors while building the index page An error in the .hg/hgrc file from a repository would prevent the following repos from being shown in the index page. The IOError handling was unnecessary - it's already handled in readconfig. This should fix issue731. The error in the .hg/hgrc file will still prevent the repo from being exported with hgweb.
Mon, 24 Sep 2007 19:00:11 -0300 hgweb: don't raise an exception when displying empty repos
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5331
hgweb: don't raise an exception when displying empty repos The nullid node claims it's in the default branch, but the branch dict is empty. This fixes the main symptom from issue696, but we may want to set branchtags()['default'] = nullid somewhere for empty repos.
Mon, 24 Sep 2007 19:00:11 -0300 make identify an optionalrepo command
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5330
make identify an optionalrepo command Fixes issue726.
Mon, 24 Sep 2007 19:00:11 -0300 copy: if destination ends with "/", make sure it's a directory
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5329
copy: if destination ends with "/", make sure it's a directory Fixes issue724.
Mon, 24 Sep 2007 12:42:25 -0500 manifest: minor performance tweak
Matt Mackall <mpm@selenic.com> [Mon, 24 Sep 2007 12:42:25 -0500] rev 5328
manifest: minor performance tweak
Mon, 24 Sep 2007 12:41:54 -0500 dirstate: speed up read and write
Matt Mackall <mpm@selenic.com> [Mon, 24 Sep 2007 12:41:54 -0500] rev 5327
dirstate: speed up read and write read: - single call to len(st) - fewer assignments for position tracking - don't split apart tuple from unpack - use a literal for the unpack spec write: - localize variables and functions - avoid copied function call - use % for string concatenation
Mon, 24 Sep 2007 12:36:38 -0500 dirstate: make dir collision logic faster
Matt Mackall <mpm@selenic.com> [Mon, 24 Sep 2007 12:36:38 -0500] rev 5326
dirstate: make dir collision logic faster - shortcircuit decpath if we haven't built the _dirs map - increment only for leafnodes of directory tree (this should make construction more like O(nlog n) than O(n^2))
Mon, 24 Sep 2007 12:34:26 -0500 Merge with crew
Matt Mackall <mpm@selenic.com> [Mon, 24 Sep 2007 12:34:26 -0500] rev 5325
Merge with crew
(0) -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 +3000 +10000 +30000 tip