mercurial/dirstate.py
changeset 2429 6a8f7c3f7333
parent 2427 150cde10ea21
child 2448 b77a2ef61b81
equal deleted inserted replaced
2428:42b8a1ff46cf 2429:6a8f7c3f7333
   453                 continue
   453                 continue
   454             if src == 'm':
   454             if src == 'm':
   455                 nonexistent = True
   455                 nonexistent = True
   456                 if not st:
   456                 if not st:
   457                     try:
   457                     try:
   458                         f = self.wjoin(fn)
   458                         st = os.lstat(self.wjoin(fn))
   459                         st = os.lstat(f)
       
   460                     except OSError, inst:
   459                     except OSError, inst:
   461                         if inst.errno != errno.ENOENT:
   460                         if inst.errno != errno.ENOENT:
   462                             raise
   461                             raise
   463                         st = None
   462                         st = None
   464                     # We need to re-check that it is a valid file
   463                     # We need to re-check that it is a valid file
   470                     deleted.append(fn)
   469                     deleted.append(fn)
   471                     continue
   470                     continue
   472             # check the common case first
   471             # check the common case first
   473             if type_ == 'n':
   472             if type_ == 'n':
   474                 if not st:
   473                 if not st:
   475                     st = os.stat(fn)
   474                     st = os.stat(self.wjoin(fn))
   476                 if size >= 0 and (size != st.st_size
   475                 if size >= 0 and (size != st.st_size
   477                                   or (mode ^ st.st_mode) & 0100):
   476                                   or (mode ^ st.st_mode) & 0100):
   478                     modified.append(fn)
   477                     modified.append(fn)
   479                 elif time != st.st_mtime:
   478                 elif time != st.st_mtime:
   480                     lookup.append(fn)
   479                     lookup.append(fn)