mercurial/commands.py
branchstable
changeset 26028 6fbe35588433
parent 25796 4eb8d8a44bf1
child 26030 5243890224ff
child 26367 f31ddc9bfa5f
equal deleted inserted replaced
26027:7b7e25a85f63 26028:6fbe35588433
  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):