mercurial/dirstate.py
changeset 4950 30847b8af7ca
parent 4949 fc61495ea9cf
child 4951 6a7659a0c07c
equal deleted inserted replaced
4949:fc61495ea9cf 4950:30847b8af7ca
    86         path = util.pathto(self._root, cwd, f)
    86         path = util.pathto(self._root, cwd, f)
    87         if self._slash:
    87         if self._slash:
    88             return path.replace(os.sep, '/')
    88             return path.replace(os.sep, '/')
    89         return path
    89         return path
    90 
    90 
    91     def __del__(self):
       
    92         self.write()
       
    93 
       
    94     def __getitem__(self, key):
    91     def __getitem__(self, key):
    95         return self._map[key]
    92         ''' current states:
       
    93         n  normal
       
    94         m  needs merging
       
    95         r  marked for removal
       
    96         a  marked for addition
       
    97         ?  not tracked'''
       
    98         return self._map.get(key, ("?",))[0]
    96 
    99 
    97     def __contains__(self, key):
   100     def __contains__(self, key):
    98         return key in self._map
   101         return key in self._map
    99 
   102 
   100     def __iter__(self):
   103     def __iter__(self):
   114         self._pl = p1, p2
   117         self._pl = p1, p2
   115 
   118 
   116     def setbranch(self, branch):
   119     def setbranch(self, branch):
   117         self._branch = branch
   120         self._branch = branch
   118         self._opener("branch", "w").write(branch + '\n')
   121         self._opener("branch", "w").write(branch + '\n')
   119 
       
   120     def state(self, key):
       
   121         ''' current states:
       
   122         n  normal
       
   123         m  needs merging
       
   124         r  marked for removal
       
   125         a  marked for addition'''
       
   126         return self._map.get(key, ("?",))[0]
       
   127 
   122 
   128     def _read(self):
   123     def _read(self):
   129         self._map = {}
   124         self._map = {}
   130         self._copymap = {}
   125         self._copymap = {}
   131         self._pl = [nullid, nullid]
   126         self._pl = [nullid, nullid]
   458         lookup, modified, added, unknown, ignored = [], [], [], [], []
   453         lookup, modified, added, unknown, ignored = [], [], [], [], []
   459         removed, deleted, clean = [], [], []
   454         removed, deleted, clean = [], [], []
   460 
   455 
   461         for src, fn, st in self.statwalk(files, match, ignored=list_ignored):
   456         for src, fn, st in self.statwalk(files, match, ignored=list_ignored):
   462             try:
   457             try:
   463                 type_, mode, size, time = self[fn]
   458                 type_, mode, size, time = self._map[fn]
   464             except KeyError:
   459             except KeyError:
   465                 if list_ignored and self._ignore(fn):
   460                 if list_ignored and self._ignore(fn):
   466                     ignored.append(fn)
   461                     ignored.append(fn)
   467                 else:
   462                 else:
   468                     unknown.append(fn)
   463                     unknown.append(fn)