mercurial/dirstate.py
changeset 2425 be2fd6398d50
parent 2393 5083cba2a777
child 2427 150cde10ea21
equal deleted inserted replaced
2422:6aa75e77cafe 2425:be2fd6398d50
   166         self.pl = [st[:20], st[20: 40]]
   166         self.pl = [st[:20], st[20: 40]]
   167 
   167 
   168         pos = 40
   168         pos = 40
   169         e_size = struct.calcsize(self.format)
   169         e_size = struct.calcsize(self.format)
   170         while pos < len(st):
   170         while pos < len(st):
   171             e = struct.unpack(self.format, st[pos:pos+e_size])
   171             newpos = pos + e_size
       
   172             e = struct.unpack(self.format, st[pos:newpos])
   172             l = e[4]
   173             l = e[4]
   173             pos += e_size
   174             pos = newpos
   174             f = st[pos:pos + l]
   175             newpos = pos + l
       
   176             f = st[pos:newpos]
   175             if '\0' in f:
   177             if '\0' in f:
   176                 f, c = f.split('\0')
   178                 f, c = f.split('\0')
   177                 self.copies[f] = c
   179                 self.copies[f] = c
   178             self.map[f] = e[:4]
   180             self.map[f] = e[:4]
   179             pos += l
   181             pos = newpos
   180 
   182 
   181     def copy(self, source, dest):
   183     def copy(self, source, dest):
   182         self.lazyread()
   184         self.lazyread()
   183         self.markdirty()
   185         self.markdirty()
   184         self.copies[dest] = source
   186         self.copies[dest] = source