Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4996
revlog: avoid some unnecessary seek/tell syscalls
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4995
manifest: speed up creation of the manifestdict
- fold iteration and rawset into parse
- avoid creating extra new strings with [:] where possible
- speed up node.bin
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4994
lazyparser.findnode: fix typo and s/rfind/find/
There's no reason to use reverse string search and it's slightly slower
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4993
lazyindex: speed up __getitem__
This function is fairly performance sensitive, so we make a couple
ugly tweaks:
- keep all entries packed so we needn't test entry types
- fold index lookup/load into unpack call to eliminate
local variable setting
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4992
lazyparser: up the blocksize from 512 bytes to 64k
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4991
revlog: implement a fast path for heads
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4990
revlogio: speed up parsing
- precalcuate ending offset
- pull some variables into local scope
- separate inline and out of line code paths
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4989
revlog: eliminate diff and patches functions
call mdiff variants directly
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4988
revlog: speed up chunkcache
- use a reasonable cache size
- avoid an extra copy when we pull in big revs
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4987
revlog: some basic code reordering
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4986
revlog: abstract out index entry packing
This lets us remove most of the remaining v0/v1 logic from revlog
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4985
revlog: simplify revlog.__init__
- move stat into io helper
- get rid of self.defversion and self.indexstat
- fold _load into __init__
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4984
revlog: mark cache private
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4983
revlog: pull chunkcache back into revlog
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4982
revlog: change _inline from a function to a variable
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4981
revlog: simplify addrevision
- remove unused defaults for p1, p2, and text
- reduce some if/else
- use better variable names
- remove some extra variables
- remove some obsolete corner tests
- simply first entry handling for revlogng
- simply inline vs outofline writeout
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4980
revlog: some codingstyle cleanups
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4979
revlog: add a magic null revision to our index
We expand our index by one entry so that index[nullrev] points to a
unique entry, the null revision. This naturally eliminates numerous
extra tests in the performance-sensitive index access functions, most
of which are now trivial again.
Adding new entries is now done with insert(-1, e) rather than
append(e).
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4978
revlog: change accesses to index entry elements to use positive offsets
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4977
revlog: parse revlogv0 indexes into v1 internally
This lets us eliminate lots of special case code in our
performance-sensitive index accessors.
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4976
revlog: only allow lazy parsing with revlogng files
This will allow us to store indices in memory in a single entry format
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4975
revlog: simplify the v1 immediate parser
- read all the data at once (large files are handled by the lazy parser)
- cache the entire file for inline revlogs
- simplify looping
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4974
revlog: set the threshold for lazy parsing higher
A typical machine can parse a 1MB index in well under a second
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:07 -0500] rev 4973
revlog: simplify the v0 parser
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:07 -0500] rev 4972
revlog: add revlogio interface
This lets us separate the logic for different on-disk revlog formats from
the main revlog logic.
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:07 -0500] rev 4971
revlog: regroup parsing code
Matt Mackall <mpm@selenic.com> [Sun, 22 Jul 2007 14:53:57 -0500] rev 4970
transactions: avoid late tear-down (
issue641)
We use weak references (ugh) to avoid having to manually delete
transaction references out of each call frame when an exception occurs.
Patrick Mezard <pmezard@gmail.com> [Sun, 22 Jul 2007 16:21:49 +0200] rev 4969
hgk: enable mouse wheel under Windows.
For some reason, MouseWheel events are not routed under windows even in latest ActiveTcl 8.4.15 while they are under linux and macosx. These events are activated using code supplied with Tcl Tip 171: <http://www.tcl.tk/cgi-bin/tct/tip/171.html>. Strangely, the Tip code almost work but generates some unexpected infinite loop which is fixed using a simple boolean to check reentrancy.
Patrick Mezard <pmezard@gmail.com> [Sun, 22 Jul 2007 16:21:49 +0200] rev 4968
hgk: enable mouse wheel on MouseWheel events.
At this point, mouse wheel still does not work under Windows.
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 22 Jul 2007 09:45:18 +0200] rev 4967
merge with crew-stable
Bryan O'Sullivan <bos@serpentine.com> [Sat, 21 Jul 2007 19:07:18 -0700] rev 4966
addremove: print meaningful error message if --similar not numeric
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:44:38 -0500] rev 4965
Merge with crew
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 17:56:30 +0200] rev 4964
test-alias: Removed fallback to parentui, no longer needed since
10afa3fab6b4
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 17:37:39 +0200] rev 4963
merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 17:36:45 +0200] rev 4962
Make [defaults] in .hg/hgrc work.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 20 Jul 2007 09:44:50 +0200] rev 4961
fix bogus close spotted by pychecker (no close() in global scope)
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:43:29 +0200] rev 4960
Remove unused pprint import and the commented line which used it before.
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:39:42 +0200] rev 4959
Use format string for lockname again (was changed by
3e25a6eb5c9a)
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:36:51 +0200] rev 4958
Backout
ad09ce1d393c and replace ''' with """ to make some highlighting happy.
I have tried Debian's default emacs and the current CVS version. Default emacs
doesn't have highlighting enabled (and being emacs-illiterate I don't know how
to enable it) and the CVS emacs' Python highlighting has no problems with '
characters here.
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:30:51 +0200] rev 4957
removed trailing whitespace
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 20 Jul 2007 09:31:32 +0200] rev 4956
fix unused variables reported by pychecker
Christian Ebert <blacktrash@gmx.net> [Thu, 19 Jul 2007 18:39:51 +0200] rev 4955
churn: get current terminal width if possible
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:48:24 -0300] rev 4954
merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4953
dirstate.invalidate: avoid rebuilding _map
Since hasattr will call __getattr__, the call to hasattr(self, '_dirs')
will end up reparsing the dirstate file.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4952
add dirstate._dirtypl variable
Theoretically, it's possible to forget modified dirstate
parents by doing:
dirstate.invalidate()
dirstate.setparents(p1, p2)
dirstate._map
The final access to _map should call _read(), which will
unconditionally overwrite dirstate._pl.
This doesn't actually happen right now because invalidate
accidentally ends up rebuilding dirstate._map.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4951
archive: delay extraction of file revisions
This allows us to look only at the filelogs we're interested in,
providing a nice speedup if we're archiving only part of a repository.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4950
help: avoid traceback if an extension has only debug commands
Bryan O'Sullivan <bos@serpentine.com> [Thu, 19 Jul 2007 15:33:21 -0700] rev 4949
convert/subversion: rehandle the no-tags case