Matt Mackall
dd01d60440
lazyparser.findnode: fix typo and s/rfind/find/
...
There's no reason to use reverse string search and it's slightly slower
2007-07-23 20:44:08 -05:00
Matt Mackall
7292978647
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
2007-07-23 20:44:08 -05:00
Matt Mackall
a68e049384
lazyparser: up the blocksize from 512 bytes to 64k
2007-07-23 20:44:08 -05:00
Matt Mackall
b607d22a05
revlog: implement a fast path for heads
2007-07-23 20:44:08 -05:00
Matt Mackall
cb95c386e8
revlogio: speed up parsing
...
- precalcuate ending offset
- pull some variables into local scope
- separate inline and out of line code paths
2007-07-23 20:44:08 -05:00
Matt Mackall
8fa2498ebf
revlog: eliminate diff and patches functions
...
call mdiff variants directly
2007-07-23 20:44:08 -05:00
Matt Mackall
9257ef4f4f
revlog: speed up chunkcache
...
- use a reasonable cache size
- avoid an extra copy when we pull in big revs
2007-07-23 20:44:08 -05:00
Matt Mackall
141c035280
revlog: some basic code reordering
2007-07-23 20:44:08 -05:00
Matt Mackall
ff72ed852c
revlog: abstract out index entry packing
...
This lets us remove most of the remaining v0/v1 logic from revlog
2007-07-23 20:44:08 -05:00
Matt Mackall
1f16099cd0
revlog: simplify revlog.__init__
...
- move stat into io helper
- get rid of self.defversion and self.indexstat
- fold _load into __init__
2007-07-23 20:44:08 -05:00
Matt Mackall
f3686b0a39
revlog: mark cache private
2007-07-23 20:44:08 -05:00
Matt Mackall
9a71ba31c4
revlog: pull chunkcache back into revlog
2007-07-23 20:44:08 -05:00
Matt Mackall
35c14c89a6
revlog: change _inline from a function to a variable
2007-07-23 20:44:08 -05:00
Matt Mackall
b51cdea681
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
2007-07-23 20:44:08 -05:00
Matt Mackall
0ab56eac5f
revlog: some codingstyle cleanups
2007-07-23 20:44:08 -05:00
Matt Mackall
2cb4c11520
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).
2007-07-23 20:44:08 -05:00
Matt Mackall
f03d3e07aa
revlog: change accesses to index entry elements to use positive offsets
2007-07-23 20:44:08 -05:00
Matt Mackall
04b4378f47
revlog: parse revlogv0 indexes into v1 internally
...
This lets us eliminate lots of special case code in our
performance-sensitive index accessors.
2007-07-23 20:44:08 -05:00
Matt Mackall
70e7477200
revlog: only allow lazy parsing with revlogng files
...
This will allow us to store indices in memory in a single entry format
2007-07-23 20:44:08 -05:00
Matt Mackall
214f50b511
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
2007-07-23 20:44:08 -05:00
Matt Mackall
3b9167f022
revlog: set the threshold for lazy parsing higher
...
A typical machine can parse a 1MB index in well under a second
2007-07-23 20:44:08 -05:00
Matt Mackall
1889aee8b0
revlog: simplify the v0 parser
2007-07-23 20:44:07 -05:00
Matt Mackall
e7ef5dc500
revlog: add revlogio interface
...
This lets us separate the logic for different on-disk revlog formats from
the main revlog logic.
2007-07-23 20:44:07 -05:00
Matt Mackall
2158f34c5f
revlog: regroup parsing code
2007-07-23 20:44:07 -05:00
Matt Mackall
3dfe783ec5
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.
2007-07-22 14:53:57 -05:00
Thomas Arendsen Hein
b35814d4c2
merge with crew-stable
2007-07-22 09:45:18 +02:00
Bryan O'Sullivan
a09e8936ae
addremove: print meaningful error message if --similar not numeric
2007-07-21 19:07:18 -07:00
Matt Mackall
cd72dc7f1b
Merge with crew
2007-07-21 16:44:38 -05:00
Matt Mackall
d5b7eaa69a
revlog: privatize some methods
2007-07-21 16:18:42 -05:00
Matt Mackall
0e54e000c1
revlog: delete unused function makenode
2007-07-21 16:18:24 -05:00
Matt Mackall
9eea27ad83
revlog: raise offset/type helpers to global scope
2007-07-21 16:18:21 -05:00
Matt Mackall
3a3bd8ec5b
Make repo locks recursive, eliminate all passing of lock/wlock
2007-07-21 16:02:10 -05:00
Matt Mackall
3fdaa5a42e
Use a weakref for recursive transactions
2007-07-21 16:02:10 -05:00
Matt Mackall
3e13c68628
Use try/finally pattern to cleanup locks and transactions
2007-07-21 16:02:10 -05:00
Matt Mackall
5a93a0feb4
repo locks: use True/False
2007-07-21 16:02:09 -05:00
Matt Mackall
ce5b3192db
rename and simplify do_lock
2007-07-21 16:02:09 -05:00
Matt Mackall
7cdcc1b36f
simplify dirstate fixups in repo.status()
2007-07-21 16:02:09 -05:00
Matt Mackall
450dc6247d
dirstate: add doesn't need to call stat
2007-07-21 16:02:09 -05:00
Matt Mackall
60107c9e5e
use context for part of localrepo status
2007-07-21 16:02:09 -05:00
Matt Mackall
410e8d67c6
context: add __contains__, __getitem__, and __iter__
2007-07-21 16:02:09 -05:00
Matt Mackall
81e9f172fb
dirstate: get rid of default args for status
2007-07-21 16:02:09 -05:00
Matt Mackall
43547721ea
dirstate: make filterfiles private
2007-07-21 16:02:09 -05:00
Matt Mackall
c2967290a5
dirstate: add __contains__ and make __getitem__ more useful
...
dirstate.state(f) == '?' -> f not in dirstate
dirstate.state(f) -> dirstate[f]
2007-07-21 16:02:09 -05:00
Matt Mackall
bab511ec55
dirstate: make wjoin function private
2007-07-21 16:02:09 -05:00
Matt Mackall
cf691df912
dirstate: break update into separate functions
2007-07-21 16:02:09 -05:00
Matt Mackall
1a40b796d1
dirstate: use True and false for _dirty
2007-07-21 16:02:09 -05:00
Thomas Arendsen Hein
a974129de3
merge with crew-stable
2007-07-21 17:37:39 +02:00
Thomas Arendsen Hein
dbdc09ab03
Make [defaults] in .hg/hgrc work.
2007-07-21 17:36:45 +02:00
Thomas Arendsen Hein
def3b1c2ba
Use format string for lockname again (was changed by cb157328a155)
2007-07-21 10:39:42 +02:00
Thomas Arendsen Hein
d9d3256252
removed trailing whitespace
2007-07-21 10:30:51 +02:00