Mercurial > public > mercurial-scm > hg
comparison mercurial/merge.py @ 3120: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
3119:b1de36a4b4df | 3120: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) |