mercurial/merge.py
changeset 3097 fe9b13e35e46
parent 2981 1b738357bba9
parent 3018 db3f42261452
child 3104 ef4e5d05bac4
equal deleted inserted replaced
2981:1b738357bba9 3097:fe9b13e35e46
     6 # of the GNU General Public License, incorporated herein by reference.
     6 # of the GNU General Public License, incorporated herein by reference.
     7 
     7 
     8 from node import *
     8 from node import *
     9 from i18n import gettext as _
     9 from i18n import gettext as _
    10 from demandload import *
    10 from demandload import *
    11 demandload(globals(), "util os tempfile")
    11 demandload(globals(), "errno util os tempfile")
    12 
    12 
    13 def fmerge(f, local, other, ancestor):
    13 def fmerge(f, local, other, ancestor):
    14     """merge executable flags"""
    14     """merge executable flags"""
    15     a, b, c = ancestor.execf(f), local.execf(f), other.execf(f)
    15     a, b, c = ancestor.execf(f), local.execf(f), other.execf(f)
    16     return ((a^b) | (a^c)) ^ a
    16     return ((a^b) | (a^c)) ^ a
   164             if not queued and m1.execf(f) != m2.execf(f):
   164             if not queued and m1.execf(f) != m2.execf(f):
   165                 if overwrite:
   165                 if overwrite:
   166                     repo.ui.debug(_(" updating permissions for %s\n") % f)
   166                     repo.ui.debug(_(" updating permissions for %s\n") % f)
   167                     util.set_exec(repo.wjoin(f), m2.execf(f))
   167                     util.set_exec(repo.wjoin(f), m2.execf(f))
   168                 else:
   168                 else:
   169                     if fmerge(f, m1, m2, ma) != m1.execf(f):
   169                     mode = fmerge(f, m1, m2, ma)
       
   170                     if mode != m1.execf(f):
   170                         repo.ui.debug(_(" updating permissions for %s\n")
   171                         repo.ui.debug(_(" updating permissions for %s\n")
   171                                       % f)
   172                                       % f)
   172                         util.set_exec(repo.wjoin(f), mode)
   173                         util.set_exec(repo.wjoin(f), mode)
   173             del m2[f]
   174             del m2[f]
   174         elif f in ma:
   175         elif f in ma: