comparison mercurial/merge.py @ 3121:1c1e59aac82a

merge: simplify local created logic
author Matt Mackall <mpm@selenic.com>
date Sun, 17 Sep 2006 21:11:26 -0500
parents b1de36a4b4df
children 2ef0b3aae186
comparison
equal deleted inserted replaced
3120:b1de36a4b4df 3121:1c1e59aac82a
131 action.append((f, "g", m2.execf(f), m2[f])) 131 action.append((f, "g", m2.execf(f), m2[f]))
132 # local is newer, not overwrite, check mode bits 132 # local is newer, not overwrite, check mode bits
133 elif fmerge(f) != m1.execf(f): 133 elif fmerge(f) != m1.execf(f):
134 ui.debug(_(" updating permissions for %s\n") % f) 134 ui.debug(_(" updating permissions for %s\n") % f)
135 action.append((f, "e", m2.execf(f))) 135 action.append((f, "e", m2.execf(f)))
136
137 # contents same, check mode bits 136 # contents same, check mode bits
138 elif m1.execf(f) != m2.execf(f): 137 elif m1.execf(f) != m2.execf(f):
139 if overwrite or fmerge(f) != m1.execf(f) 138 if overwrite or fmerge(f) != m1.execf(f):
140 ui.debug(_(" updating permissions for %s\n") % f) 139 ui.debug(_(" updating permissions for %s\n") % f)
141 action.append((f, "e", m2.execf(f))) 140 action.append((f, "e", m2.execf(f)))
142 del m2[f] 141 del m2[f]
143 elif f in ma: 142 elif f in ma:
144 if n != ma[f] and not overwrite: 143 if n != ma[f] and not overwrite:
149 else: 148 else:
150 ui.debug(_("other deleted %s\n") % f) 149 ui.debug(_("other deleted %s\n") % f)
151 action.append((f, "r")) 150 action.append((f, "r"))
152 else: 151 else:
153 # file is created on branch or in working directory 152 # file is created on branch or in working directory
154 if overwrite and n[20:] != "u": 153 if (overwrite and n[20:] != "u") or (backwards and not n[20:]):
155 ui.debug(_("remote deleted %s, clobbering\n") % f) 154 ui.debug(_("remote deleted %s, clobbering\n") % f)
156 action.append((f, "r")) 155 action.append((f, "r"))
157 elif not n[20:]: # same as parent 156 else:
158 if backwards: 157 ui.debug(_("local created %s, keeping\n") % f)
159 ui.debug(_("remote deleted %s\n") % f)
160 action.append((f, "r"))
161 else:
162 ui.debug(_("local modified %s, keeping\n") % f)
163 else:
164 ui.debug(_("working dir created %s, keeping\n") % f)
165 158
166 for f, n in m2.iteritems(): 159 for f, n in m2.iteritems():
167 if f in ma: 160 if f in ma:
168 if overwrite or backwards: 161 if overwrite or backwards:
169 ui.debug(_("local deleted %s, recreating\n") % f) 162 ui.debug(_("local deleted %s, recreating\n") % f)