mercurial/dirstate.py
changeset 25660 328739ea70c3
parent 25658 e93036747902
child 25877 85785cd3b69f
equal deleted inserted replaced
25659:d60678a567a9 25660:328739ea70c3
   113 
   113 
   114     @repocache('branch')
   114     @repocache('branch')
   115     def _branch(self):
   115     def _branch(self):
   116         try:
   116         try:
   117             return self._opener.read("branch").strip() or "default"
   117             return self._opener.read("branch").strip() or "default"
   118         except IOError, inst:
   118         except IOError as inst:
   119             if inst.errno != errno.ENOENT:
   119             if inst.errno != errno.ENOENT:
   120                 raise
   120                 raise
   121             return "default"
   121             return "default"
   122 
   122 
   123     @propertycache
   123     @propertycache
   129             l = len(st)
   129             l = len(st)
   130             if l == 40:
   130             if l == 40:
   131                 return st[:20], st[20:40]
   131                 return st[:20], st[20:40]
   132             elif l > 0 and l < 40:
   132             elif l > 0 and l < 40:
   133                 raise util.Abort(_('working directory state appears damaged!'))
   133                 raise util.Abort(_('working directory state appears damaged!'))
   134         except IOError, err:
   134         except IOError as err:
   135             if err.errno != errno.ENOENT:
   135             if err.errno != errno.ENOENT:
   136                 raise
   136                 raise
   137         return [nullid, nullid]
   137         return [nullid, nullid]
   138 
   138 
   139     @propertycache
   139     @propertycache
   329             fp = self._opener.open(self._filename)
   329             fp = self._opener.open(self._filename)
   330             try:
   330             try:
   331                 st = fp.read()
   331                 st = fp.read()
   332             finally:
   332             finally:
   333                 fp.close()
   333                 fp.close()
   334         except IOError, err:
   334         except IOError as err:
   335             if err.errno != errno.ENOENT:
   335             if err.errno != errno.ENOENT:
   336                 raise
   336                 raise
   337             return
   337             return
   338         if not st:
   338         if not st:
   339             return
   339             return
   715                     results[nf] = st
   715                     results[nf] = st
   716                 else:
   716                 else:
   717                     badfn(ff, badtype(kind))
   717                     badfn(ff, badtype(kind))
   718                     if nf in dmap:
   718                     if nf in dmap:
   719                         results[nf] = None
   719                         results[nf] = None
   720             except OSError, inst: # nf not found on disk - it is dirstate only
   720             except OSError as inst: # nf not found on disk - it is dirstate only
   721                 if nf in dmap: # does it exactly match a missing file?
   721                 if nf in dmap: # does it exactly match a missing file?
   722                     results[nf] = None
   722                     results[nf] = None
   723                 else: # does it match a missing directory?
   723                 else: # does it match a missing directory?
   724                     if alldirs is None:
   724                     if alldirs is None:
   725                         alldirs = util.dirs(dmap)
   725                         alldirs = util.dirs(dmap)
   800                     nd = ''
   800                     nd = ''
   801                 else:
   801                 else:
   802                     skip = '.hg'
   802                     skip = '.hg'
   803                 try:
   803                 try:
   804                     entries = listdir(join(nd), stat=True, skip=skip)
   804                     entries = listdir(join(nd), stat=True, skip=skip)
   805                 except OSError, inst:
   805                 except OSError as inst:
   806                     if inst.errno in (errno.EACCES, errno.ENOENT):
   806                     if inst.errno in (errno.EACCES, errno.ENOENT):
   807                         match.bad(self.pathto(nd), inst.strerror)
   807                         match.bad(self.pathto(nd), inst.strerror)
   808                         continue
   808                         continue
   809                     raise
   809                     raise
   810                 for f, kind, st in entries:
   810                 for f, kind, st in entries: