Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/merge.py @ 3097: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
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: |