##// END OF EJS Templates
dirstate: fold parse into read
Matt Mackall -
r4607:49dcac6e default
parent child Browse files
Show More
@@ -204,11 +204,22 b' class dirstate(object):'
204 except KeyError:
204 except KeyError:
205 return "?"
205 return "?"
206
206
207 def parse(self, st):
207 def read(self):
208 self.map = {}
209 self.copymap = {}
210 self.pl = [nullid, nullid]
211 try:
212 st = self.opener("dirstate").read()
213 except IOError, err:
214 if err.errno != errno.ENOENT: raise
215 return
216 if not st:
217 return
218
208 self.pl = [st[:20], st[20: 40]]
219 self.pl = [st[:20], st[20: 40]]
209
220
210 # deref fields so they will be local in loop
221 # deref fields so they will be local in loop
211 map = self.map
222 dmap = self.map
212 copymap = self.copymap
223 copymap = self.copymap
213 format = self.format
224 format = self.format
214 unpack = struct.unpack
225 unpack = struct.unpack
@@ -226,20 +237,9 b' class dirstate(object):'
226 if '\0' in f:
237 if '\0' in f:
227 f, c = f.split('\0')
238 f, c = f.split('\0')
228 copymap[f] = c
239 copymap[f] = c
229 map[f] = e[:4]
240 dmap[f] = e[:4]
230 pos = newpos
241 pos = newpos
231
242
232 def read(self):
233 self.map = {}
234 self.copymap = {}
235 self.pl = [nullid, nullid]
236 try:
237 st = self.opener("dirstate").read()
238 if st:
239 self.parse(st)
240 except IOError, err:
241 if err.errno != errno.ENOENT: raise
242
243 def reload(self):
243 def reload(self):
244 for a in "map copymap _branch pl dirs".split():
244 for a in "map copymap _branch pl dirs".split():
245 if hasattr(self, a):
245 if hasattr(self, a):
General Comments 0
You need to be logged in to leave comments. Login now