mercurial/merge.py
changeset 2913 3cef09d12010
parent 2912 dd41ad984f71
child 2914 f28f4c850cd8
equal deleted inserted replaced
2912:dd41ad984f71 2913:3cef09d12010
   114     # construct a working dir manifest
   114     # construct a working dir manifest
   115     mw = m1.copy()
   115     mw = m1.copy()
   116     umap = dict.fromkeys(unknown)
   116     umap = dict.fromkeys(unknown)
   117 
   117 
   118     for f in added + modified + unknown:
   118     for f in added + modified + unknown:
   119         mw[f] = ""
   119         mw[f] = None
       
   120         if f in m1: mw[f] = "" # distinguish between changed and new
   120         mw.set(f, util.is_exec(repo.wjoin(f), mw.execf(f)))
   121         mw.set(f, util.is_exec(repo.wjoin(f), mw.execf(f)))
   121 
   122 
   122     for f in deleted + removed:
   123     for f in deleted + removed:
   123         if f in mw:
   124         if f in mw:
   124             del mw[f]
   125             del mw[f]
   136         if partial and not partial(f):
   137         if partial and not partial(f):
   137             continue
   138             continue
   138         if f in m2:
   139         if f in m2:
   139             s = 0
   140             s = 0
   140 
   141 
   141             # is the wfile new since m1, and match m2?
   142             # is the wfile new and matches m2?
   142             if f not in m1:
   143             if mw[f] == None:
   143                 if not repo.file(f).cmp(m2[f], repo.wread(f)):
   144                 if not repo.file(f).cmp(m2[f], repo.wread(f)):
   144                     n = m2[f]
   145                     n = m2[f]
   145 
   146 
   146             # are files different?
   147             # are files different?
   147             if n != m2[f]:
   148             if n != m2[f]: