213 act("versions differ", f, "m", fmerge(f)) |
213 act("versions differ", f, "m", fmerge(f)) |
214 # are we clobbering? |
214 # are we clobbering? |
215 # is remote's version newer? |
215 # is remote's version newer? |
216 # or are we going back in time and clean? |
216 # or are we going back in time and clean? |
217 elif overwrite or m2[f] != a or (backwards and not n[20:]): |
217 elif overwrite or m2[f] != a or (backwards and not n[20:]): |
218 act("remote is newer", f, "g", m2.execf(f), m2[f]) |
218 act("remote is newer", f, "g", m2.execf(f)) |
219 # local is newer, not overwrite, check mode bits |
219 # local is newer, not overwrite, check mode bits |
220 elif fmerge(f) != m1.execf(f): |
220 elif fmerge(f) != m1.execf(f): |
221 act("update permissions", f, "e", m2.execf(f)) |
221 act("update permissions", f, "e", m2.execf(f)) |
222 # contents same, check mode bits |
222 # contents same, check mode bits |
223 elif m1.execf(f) != m2.execf(f): |
223 elif m1.execf(f) != m2.execf(f): |
259 continue |
259 continue |
260 # rename case 1, A/A,B/A |
260 # rename case 1, A/A,B/A |
261 act("remote copied", f2, "c", f, f, fmerge(f2, f, f2), False) |
261 act("remote copied", f2, "c", f, f, fmerge(f2, f, f2), False) |
262 elif f in ma: |
262 elif f in ma: |
263 if overwrite or backwards: |
263 if overwrite or backwards: |
264 act("recreating", f, "g", m2.execf(f), n) |
264 act("recreating", f, "g", m2.execf(f)) |
265 elif n != ma[f]: |
265 elif n != ma[f]: |
266 if repo.ui.prompt( |
266 if repo.ui.prompt( |
267 (_("remote changed %s which local deleted\n") % f) + |
267 (_("remote changed %s which local deleted\n") % f) + |
268 _("(k)eep or (d)elete?"), _("[kd]"), _("k")) == _("k"): |
268 _("(k)eep or (d)elete?"), _("[kd]"), _("k")) == _("k"): |
269 act("prompt recreating", f, "g", m2.execf(f), n) |
269 act("prompt recreating", f, "g", m2.execf(f)) |
270 else: |
270 else: |
271 act("remote created", f, "g", m2.execf(f), n) |
271 act("remote created", f, "g", m2.execf(f)) |
272 |
272 |
273 return action |
273 return action |
274 |
274 |
275 def applyupdates(repo, action, wctx, mctx): |
275 def applyupdates(repo, action, wctx, mctx): |
276 updated, merged, removed, unresolved = 0, 0, 0, 0 |
276 updated, merged, removed, unresolved = 0, 0, 0, 0 |
302 if filemerge(repo, f, f, f, wctx, mctx, False): |
302 if filemerge(repo, f, f, f, wctx, mctx, False): |
303 unresolved += 1 |
303 unresolved += 1 |
304 util.set_exec(repo.wjoin(f), flag) |
304 util.set_exec(repo.wjoin(f), flag) |
305 merged += 1 |
305 merged += 1 |
306 elif m == "g": # get |
306 elif m == "g": # get |
307 flag, node = a[2:] |
307 flag = a[2] |
308 repo.ui.note(_("getting %s\n") % f) |
308 repo.ui.note(_("getting %s\n") % f) |
309 t = mctx.filectx(f).data() |
309 t = mctx.filectx(f).data() |
310 repo.wwrite(f, t) |
310 repo.wwrite(f, t) |
311 util.set_exec(repo.wjoin(f), flag) |
311 util.set_exec(repo.wjoin(f), flag) |
312 updated += 1 |
312 updated += 1 |