comparison mercurial/merge.py @ 3098:fe9b13e35e46

Merge with crew
author Matt Mackall <mpm@selenic.com>
date Fri, 15 Sep 2006 15:22:45 -0500
parents 1b738357bba9 db3f42261452
children ef4e5d05bac4
comparison
equal deleted inserted replaced
3097:1b738357bba9 3098: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: