6449 raise util.Abort(_("please specify just one revision")) |
6449 raise util.Abort(_("please specify just one revision")) |
6450 |
6450 |
6451 if rev is None or rev == '': |
6451 if rev is None or rev == '': |
6452 rev = node |
6452 rev = node |
6453 |
6453 |
6454 cmdutil.clearunfinished(repo) |
6454 wlock = repo.wlock() |
6455 |
6455 try: |
6456 # with no argument, we also move the active bookmark, if any |
6456 cmdutil.clearunfinished(repo) |
6457 rev, movemarkfrom = bookmarks.calculateupdate(ui, repo, rev) |
6457 |
6458 |
6458 # with no argument, we also move the active bookmark, if any |
6459 # if we defined a bookmark, we have to remember the original bookmark name |
6459 rev, movemarkfrom = bookmarks.calculateupdate(ui, repo, rev) |
6460 brev = rev |
6460 |
6461 rev = scmutil.revsingle(repo, rev, rev).rev() |
6461 # if we defined a bookmark, we have to remember the original name |
6462 |
6462 brev = rev |
6463 if check and clean: |
6463 rev = scmutil.revsingle(repo, rev, rev).rev() |
6464 raise util.Abort(_("cannot specify both -c/--check and -C/--clean")) |
6464 |
6465 |
6465 if check and clean: |
6466 if date: |
6466 raise util.Abort(_("cannot specify both -c/--check and -C/--clean")) |
6467 if rev is not None: |
6467 |
6468 raise util.Abort(_("you can't specify a revision and a date")) |
6468 if date: |
6469 rev = cmdutil.finddate(ui, repo, date) |
6469 if rev is not None: |
6470 |
6470 raise util.Abort(_("you can't specify a revision and a date")) |
6471 if check: |
6471 rev = cmdutil.finddate(ui, repo, date) |
6472 cmdutil.bailifchanged(repo, merge=False) |
6472 |
6473 if rev is None: |
6473 if check: |
6474 rev = repo[repo[None].branch()].rev() |
6474 cmdutil.bailifchanged(repo, merge=False) |
6475 |
6475 if rev is None: |
6476 repo.ui.setconfig('ui', 'forcemerge', tool, 'update') |
6476 rev = repo[repo[None].branch()].rev() |
6477 |
6477 |
6478 if clean: |
6478 repo.ui.setconfig('ui', 'forcemerge', tool, 'update') |
6479 ret = hg.clean(repo, rev) |
6479 |
6480 else: |
6480 if clean: |
6481 ret = hg.update(repo, rev) |
6481 ret = hg.clean(repo, rev) |
6482 |
|
6483 if not ret and movemarkfrom: |
|
6484 if bookmarks.update(repo, [movemarkfrom], repo['.'].node()): |
|
6485 ui.status(_("updating bookmark %s\n") % repo._activebookmark) |
|
6486 else: |
6482 else: |
6487 # this can happen with a non-linear update |
6483 ret = hg.update(repo, rev) |
6488 ui.status(_("(leaving bookmark %s)\n") % |
6484 |
6489 repo._activebookmark) |
6485 if not ret and movemarkfrom: |
|
6486 if bookmarks.update(repo, [movemarkfrom], repo['.'].node()): |
|
6487 ui.status(_("updating bookmark %s\n") % repo._activebookmark) |
|
6488 else: |
|
6489 # this can happen with a non-linear update |
|
6490 ui.status(_("(leaving bookmark %s)\n") % |
|
6491 repo._activebookmark) |
|
6492 bookmarks.deactivate(repo) |
|
6493 elif brev in repo._bookmarks: |
|
6494 bookmarks.activate(repo, brev) |
|
6495 ui.status(_("(activating bookmark %s)\n") % brev) |
|
6496 elif brev: |
|
6497 if repo._activebookmark: |
|
6498 ui.status(_("(leaving bookmark %s)\n") % |
|
6499 repo._activebookmark) |
6490 bookmarks.deactivate(repo) |
6500 bookmarks.deactivate(repo) |
6491 elif brev in repo._bookmarks: |
6501 finally: |
6492 bookmarks.activate(repo, brev) |
6502 wlock.release() |
6493 ui.status(_("(activating bookmark %s)\n") % brev) |
|
6494 elif brev: |
|
6495 if repo._activebookmark: |
|
6496 ui.status(_("(leaving bookmark %s)\n") % |
|
6497 repo._activebookmark) |
|
6498 bookmarks.deactivate(repo) |
|
6499 |
6503 |
6500 return ret |
6504 return ret |
6501 |
6505 |
6502 @command('verify', []) |
6506 @command('verify', []) |
6503 def verify(ui, repo): |
6507 def verify(ui, repo): |