Mercurial > public > mercurial-scm > hg
comparison mercurial/merge.py @ 2813:56f99f5aab34
Merge: refactor err and failedmerge -> unresolved
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Tue, 08 Aug 2006 09:26:00 -0500 |
parents | 3aeab7bb5adc |
children | 0f787997e3c2 |
comparison
equal
deleted
inserted
replaced
2812:3aeab7bb5adc | 2813:56f99f5aab34 |
---|---|
54 wlock = repo.wlock() | 54 wlock = repo.wlock() |
55 | 55 |
56 pl = repo.dirstate.parents() | 56 pl = repo.dirstate.parents() |
57 if not force and pl[1] != nullid: | 57 if not force and pl[1] != nullid: |
58 raise util.Abort(_("outstanding uncommitted merges")) | 58 raise util.Abort(_("outstanding uncommitted merges")) |
59 | |
60 err = False | |
61 | 59 |
62 p1, p2 = pl[0], node | 60 p1, p2 = pl[0], node |
63 pa = repo.changelog.ancestor(p1, p2) | 61 pa = repo.changelog.ancestor(p1, p2) |
64 m1n = repo.changelog.read(p1)[0] | 62 m1n = repo.changelog.read(p1)[0] |
65 m2n = repo.changelog.read(p2)[0] | 63 m2n = repo.changelog.read(p2)[0] |
274 repo.dirstate.update([f], 'n', st_mtime=-1) | 272 repo.dirstate.update([f], 'n', st_mtime=-1) |
275 else: | 273 else: |
276 repo.dirstate.update([f], 'n') | 274 repo.dirstate.update([f], 'n') |
277 | 275 |
278 # merge the tricky bits | 276 # merge the tricky bits |
279 failedmerge = [] | 277 unresolved = [] |
280 files = merge.keys() | 278 files = merge.keys() |
281 files.sort() | 279 files.sort() |
282 for f in files: | 280 for f in files: |
283 repo.ui.status(_("merging %s\n") % f) | 281 repo.ui.status(_("merging %s\n") % f) |
284 my, other, flag = merge[f] | 282 my, other, flag = merge[f] |
285 ret = merge3(repo, f, my, other, xp1, xp2) | 283 ret = merge3(repo, f, my, other, xp1, xp2) |
286 if ret: | 284 if ret: |
287 err = True | 285 unresolved.append(f) |
288 failedmerge.append(f) | |
289 util.set_exec(repo.wjoin(f), flag) | 286 util.set_exec(repo.wjoin(f), flag) |
290 if not partial: | 287 if not partial: |
291 if branchmerge: | 288 if branchmerge: |
292 # We've done a branch merge, mark this file as merged | 289 # We've done a branch merge, mark this file as merged |
293 # so that we properly record the merger later | 290 # so that we properly record the merger later |
320 if not partial: | 317 if not partial: |
321 repo.dirstate.setparents(p1, p2) | 318 repo.dirstate.setparents(p1, p2) |
322 | 319 |
323 if show_stats: | 320 if show_stats: |
324 stats = ((len(get), _("updated")), | 321 stats = ((len(get), _("updated")), |
325 (len(merge) - len(failedmerge), _("merged")), | 322 (len(merge) - len(unresolved), _("merged")), |
326 (len(remove), _("removed")), | 323 (len(remove), _("removed")), |
327 (len(failedmerge), _("unresolved"))) | 324 (len(unresolved), _("unresolved"))) |
328 note = ", ".join([_("%d files %s") % s for s in stats]) | 325 note = ", ".join([_("%d files %s") % s for s in stats]) |
329 repo.ui.status("%s\n" % note) | 326 repo.ui.status("%s\n" % note) |
330 if not partial: | 327 if not partial: |
331 if branchmerge: | 328 if branchmerge: |
332 if failedmerge: | 329 if unresolved: |
333 repo.ui.status(_("There are unresolved merges," | 330 repo.ui.status(_("There are unresolved merges," |
334 " you can redo the full merge using:\n" | 331 " you can redo the full merge using:\n" |
335 " hg update -C %s\n" | 332 " hg update -C %s\n" |
336 " hg merge %s\n" | 333 " hg merge %s\n" |
337 % (repo.changelog.rev(p1), | 334 % (repo.changelog.rev(p1), |
338 repo.changelog.rev(p2)))) | 335 repo.changelog.rev(p2)))) |
339 elif remind: | 336 elif remind: |
340 repo.ui.status(_("(branch merge, don't forget to commit)\n")) | 337 repo.ui.status(_("(branch merge, don't forget to commit)\n")) |
341 elif failedmerge: | 338 elif unresolved: |
342 repo.ui.status(_("There are unresolved merges with" | 339 repo.ui.status(_("There are unresolved merges with" |
343 " locally modified files.\n")) | 340 " locally modified files.\n")) |
344 | 341 |
345 repo.hook('update', parent1=xp1, parent2=xxp2, error=int(err)) | 342 repo.hook('update', parent1=xp1, parent2=xxp2, error=len(unresolved)) |
346 return err | 343 return len(unresolved) |
347 | 344 |