Show More
@@ -88,11 +88,9 b' class lazyparser(object):' | |||
|
88 | 88 | safe_to_use = os.name != 'nt' or (not util.is_win_9x() and |
|
89 | 89 | hasattr(util, 'win32api')) |
|
90 | 90 | |
|
91 |
def __init__(self, dataf, size |
|
|
91 | def __init__(self, dataf, size): | |
|
92 | 92 | self.dataf = dataf |
|
93 |
self. |
|
|
94 | self.s = struct.calcsize(indexformat) | |
|
95 | self.indexformat = indexformat | |
|
93 | self.s = struct.calcsize(indexformatng) | |
|
96 | 94 | self.datasize = size |
|
97 | 95 | self.l = size/self.s |
|
98 | 96 | self.index = [None] * self.l |
@@ -100,7 +98,6 b' class lazyparser(object):' | |||
|
100 | 98 | self.allmap = 0 |
|
101 | 99 | self.all = 0 |
|
102 | 100 | self.mapfind_count = 0 |
|
103 | self.shaoffset = shaoffset | |
|
104 | 101 | |
|
105 | 102 | def loadmap(self): |
|
106 | 103 | """ |
@@ -120,7 +117,7 b' class lazyparser(object):' | |||
|
120 | 117 | data = self.dataf.read(blocksize) |
|
121 | 118 | off = 0 |
|
122 | 119 | for x in xrange(256): |
|
123 |
n = data[off + |
|
|
120 | n = data[off + ngshaoffset:off + ngshaoffset + 20] | |
|
124 | 121 | self.map[n] = count |
|
125 | 122 | count += 1 |
|
126 | 123 | if count >= self.l: |
@@ -148,7 +145,7 b' class lazyparser(object):' | |||
|
148 | 145 | if self.index[i + x] == None: |
|
149 | 146 | b = data[off : off + self.s] |
|
150 | 147 | self.index[i + x] = b |
|
151 |
n = b[ |
|
|
148 | n = b[ngshaoffset:ngshaoffset + 20] | |
|
152 | 149 | self.map[n] = i + x |
|
153 | 150 | off += self.s |
|
154 | 151 | |
@@ -187,7 +184,7 b' class lazyparser(object):' | |||
|
187 | 184 | if off >= 0: |
|
188 | 185 | i = off / self.s |
|
189 | 186 | off = i * self.s |
|
190 |
n = data[off + |
|
|
187 | n = data[off + ngshaoffset:off + ngshaoffset + 20] | |
|
191 | 188 | if n == node: |
|
192 | 189 | self.map[n] = i + start / self.s |
|
193 | 190 | return node |
@@ -232,7 +229,7 b' class lazyindex(object):' | |||
|
232 | 229 | def __getitem__(self, pos): |
|
233 | 230 | ret = self.p.index[pos] or self.load(pos) |
|
234 | 231 | if isinstance(ret, str): |
|
235 |
ret = struct.unpack( |
|
|
232 | ret = struct.unpack(indexformatng, ret) | |
|
236 | 233 | return ret |
|
237 | 234 | def __setitem__(self, pos, item): |
|
238 | 235 | self.p.index[pos] = item |
@@ -262,7 +259,7 b' class lazymap(object):' | |||
|
262 | 259 | self.p.loadindex(i) |
|
263 | 260 | ret = self.p.index[i] |
|
264 | 261 | if isinstance(ret, str): |
|
265 |
ret = struct.unpack( |
|
|
262 | ret = struct.unpack(indexformatng, ret) | |
|
266 | 263 | yield ret[-1] |
|
267 | 264 | def __getitem__(self, key): |
|
268 | 265 | try: |
@@ -321,7 +318,7 b' class revlogio(object):' | |||
|
321 | 318 | if (lazyparser.safe_to_use and not inline and |
|
322 | 319 | st and st.st_size > 1000000): |
|
323 | 320 | # big index, let's parse it on demand |
|
324 |
parser = lazyparser(fp, st.st_size |
|
|
321 | parser = lazyparser(fp, st.st_size) | |
|
325 | 322 | index = lazyindex(parser) |
|
326 | 323 | nodemap = lazymap(parser) |
|
327 | 324 | e = list(index[0]) |
General Comments 0
You need to be logged in to leave comments.
Login now