mercurial/context.py
changeset 23731 ccbaa2ed11a4
parent 23730 4b56219a5ac2
child 23755 d43948a910a5
equal deleted inserted replaced
23730:4b56219a5ac2 23731:ccbaa2ed11a4
   138         modified, added, clean = [], [], []
   138         modified, added, clean = [], [], []
   139         deleted, unknown, ignored = s.deleted, s.unknown, s.ignored
   139         deleted, unknown, ignored = s.deleted, s.unknown, s.ignored
   140         deletedset = set(deleted)
   140         deletedset = set(deleted)
   141         withflags = mf1.withflags() | mf2.withflags()
   141         withflags = mf1.withflags() | mf2.withflags()
   142         for fn, mf2node in mf2.iteritems():
   142         for fn, mf2node in mf2.iteritems():
       
   143             if fn in deletedset:
       
   144                 continue
   143             if fn in mf1:
   145             if fn in mf1:
   144                 if (fn not in deletedset and
   146                 if ((fn in withflags and mf1.flags(fn) != mf2.flags(fn)) or
   145                     ((fn in withflags and mf1.flags(fn) != mf2.flags(fn)) or
       
   146                      (mf1[fn] != mf2node and
   147                      (mf1[fn] != mf2node and
   147                       (mf2node != _newnode or self[fn].cmp(other[fn]))))):
   148                       (mf2node != _newnode or self[fn].cmp(other[fn])))):
   148                     modified.append(fn)
   149                     modified.append(fn)
   149                 elif listclean:
   150                 elif listclean:
   150                     clean.append(fn)
   151                     clean.append(fn)
   151                 del mf1[fn]
   152                 del mf1[fn]
   152             elif fn not in deletedset:
   153             else:
   153                 added.append(fn)
   154                 added.append(fn)
   154         removed = mf1.keys()
   155         removed = mf1.keys()
   155         if removed:
   156         if removed:
   156             # need to filter files if they are already reported as removed
   157             # need to filter files if they are already reported as removed
   157             unknown = [fn for fn in unknown if fn not in mf1]
   158             unknown = [fn for fn in unknown if fn not in mf1]