Show More
@@ -107,7 +107,7 b' def update(repo, node, branchmerge=False' | |||
|
107 | 107 | repo.ui.debug(_(" ancestor %s local %s remote %s\n") % |
|
108 | 108 | (short(p1), short(p2), short(pa))) |
|
109 | 109 | |
|
110 |
action = |
|
|
110 | action = [] | |
|
111 | 111 | forget = [] |
|
112 | 112 | |
|
113 | 113 | # update m1 from working dir |
@@ -146,19 +146,19 b' def update(repo, node, branchmerge=False' | |||
|
146 | 146 | # are both different from the ancestor? |
|
147 | 147 | if not overwrite and n != a and m2[f] != a: |
|
148 | 148 | repo.ui.debug(_(" %s versions differ, resolve\n") % f) |
|
149 |
action |
|
|
149 | action.append((f, fmerge(f, m1, m2, ma), n[:20], m2[f])) | |
|
150 | 150 | queued = 1 |
|
151 | 151 | # are we clobbering? |
|
152 | 152 | # is remote's version newer? |
|
153 | 153 | # or are we going back in time and clean? |
|
154 | 154 | elif overwrite or m2[f] != a or (backwards and not n[20:]): |
|
155 | 155 | repo.ui.debug(_(" remote %s is newer, get\n") % f) |
|
156 |
action |
|
|
156 | action.append((f, m2.execf(f), m2[f], None)) | |
|
157 | 157 | queued = 1 |
|
158 | 158 | elif n[20:] in ("u","a"): |
|
159 | 159 | # this unknown file is the same as the checkout |
|
160 | 160 | # we need to reset the dirstate if the file was added |
|
161 |
action |
|
|
161 | action.append((f, m2.execf(f), m2[f], None)) | |
|
162 | 162 | |
|
163 | 163 | # do we still need to look at mode bits? |
|
164 | 164 | if not queued and m1.execf(f) != m2.execf(f): |
@@ -179,19 +179,19 b' def update(repo, node, branchmerge=False' | |||
|
179 | 179 | (_(" local changed %s which remote deleted\n") % f) + |
|
180 | 180 | _("(k)eep or (d)elete?"), _("[kd]"), _("k")) |
|
181 | 181 | if r == _("d"): |
|
182 |
action |
|
|
182 | action.append((f, None, None, None)) | |
|
183 | 183 | else: |
|
184 | 184 | repo.ui.debug(_("other deleted %s\n") % f) |
|
185 |
action |
|
|
185 | action.append((f, None, None, None)) | |
|
186 | 186 | else: |
|
187 | 187 | # file is created on branch or in working directory |
|
188 | 188 | if overwrite and n[20:] != "u": |
|
189 | 189 | repo.ui.debug(_("remote deleted %s, clobbering\n") % f) |
|
190 |
action |
|
|
190 | action.append((f, None, None, None)) | |
|
191 | 191 | elif not n[20:]: # same as parent |
|
192 | 192 | if backwards: |
|
193 | 193 | repo.ui.debug(_("remote deleted %s\n") % f) |
|
194 |
action |
|
|
194 | action.append((f, None, None, None)) | |
|
195 | 195 | else: |
|
196 | 196 | repo.ui.debug(_("local modified %s, keeping\n") % f) |
|
197 | 197 | else: |
@@ -207,14 +207,14 b' def update(repo, node, branchmerge=False' | |||
|
207 | 207 | (_("remote changed %s which local deleted\n") % f) + |
|
208 | 208 | _("(k)eep or (d)elete?"), _("[kd]"), _("k")) |
|
209 | 209 | if r == _("k"): |
|
210 |
action |
|
|
210 | action.append((f, m2.execf(f), n, None)) | |
|
211 | 211 | elif f not in ma: |
|
212 | 212 | repo.ui.debug(_("remote created %s\n") % f) |
|
213 |
action |
|
|
213 | action.append((f, m2.execf(f), n, None)) | |
|
214 | 214 | else: |
|
215 | 215 | if overwrite or backwards: |
|
216 | 216 | repo.ui.debug(_("local deleted %s, recreating\n") % f) |
|
217 |
action |
|
|
217 | action.append((f, m2.execf(f), n, None)) | |
|
218 | 218 | else: |
|
219 | 219 | repo.ui.debug(_("local deleted %s\n") % f) |
|
220 | 220 | |
@@ -235,10 +235,9 b' def update(repo, node, branchmerge=False' | |||
|
235 | 235 | |
|
236 | 236 | # update files |
|
237 | 237 | updated, merged, removed, unresolved = 0, 0, 0, 0 |
|
238 |
|
|
|
239 | files.sort() | |
|
240 | for f in files: | |
|
241 | flag, my, other = action[f] | |
|
238 | action.sort() | |
|
239 | for a in action: | |
|
240 | f, flag, my, other = a | |
|
242 | 241 | if f[0] == "/": |
|
243 | 242 | continue |
|
244 | 243 | if not my: |
@@ -268,10 +267,8 b' def update(repo, node, branchmerge=False' | |||
|
268 | 267 | if not partial: |
|
269 | 268 | repo.dirstate.setparents(p1, p2) |
|
270 | 269 | repo.dirstate.forget(forget) |
|
271 |
f |
|
|
272 | files.sort() | |
|
273 | for f in files: | |
|
274 | flag, my, other = action[f] | |
|
270 | for a in action: | |
|
271 | f, flag, my, other = a | |
|
275 | 272 | if not my: |
|
276 | 273 | if branchmerge: |
|
277 | 274 | repo.dirstate.update([f], 'r') |
General Comments 0
You need to be logged in to leave comments.
Login now