mercurial/commands.py
changeset 35575 dda3cae3c9c5
parent 35548 b14c8bcfbad9
child 35606 4b68ca118d8d
equal deleted inserted replaced
35574:09285733ad71 35575:dda3cae3c9c5
  3852         # the phase of a merge commit
  3852         # the phase of a merge commit
  3853         revs = [c.rev() for c in repo[None].parents()]
  3853         revs = [c.rev() for c in repo[None].parents()]
  3854 
  3854 
  3855     revs = scmutil.revrange(repo, revs)
  3855     revs = scmutil.revrange(repo, revs)
  3856 
  3856 
  3857     lock = None
       
  3858     ret = 0
  3857     ret = 0
  3859     if targetphase is None:
  3858     if targetphase is None:
  3860         # display
  3859         # display
  3861         for r in revs:
  3860         for r in revs:
  3862             ctx = repo[r]
  3861             ctx = repo[r]
  3863             ui.write('%i: %s\n' % (ctx.rev(), ctx.phasestr()))
  3862             ui.write('%i: %s\n' % (ctx.rev(), ctx.phasestr()))
  3864     else:
  3863     else:
  3865         tr = None
  3864         with repo.lock(), repo.transaction("phase") as tr:
  3866         lock = repo.lock()
       
  3867         try:
       
  3868             tr = repo.transaction("phase")
       
  3869             # set phase
  3865             # set phase
  3870             if not revs:
  3866             if not revs:
  3871                 raise error.Abort(_('empty revision set'))
  3867                 raise error.Abort(_('empty revision set'))
  3872             nodes = [repo[r].node() for r in revs]
  3868             nodes = [repo[r].node() for r in revs]
  3873             # moving revision from public to draft may hide them
  3869             # moving revision from public to draft may hide them
  3876             getphase = unfi._phasecache.phase
  3872             getphase = unfi._phasecache.phase
  3877             olddata = [getphase(unfi, r) for r in unfi]
  3873             olddata = [getphase(unfi, r) for r in unfi]
  3878             phases.advanceboundary(repo, tr, targetphase, nodes)
  3874             phases.advanceboundary(repo, tr, targetphase, nodes)
  3879             if opts['force']:
  3875             if opts['force']:
  3880                 phases.retractboundary(repo, tr, targetphase, nodes)
  3876                 phases.retractboundary(repo, tr, targetphase, nodes)
  3881             tr.close()
       
  3882         finally:
       
  3883             if tr is not None:
       
  3884                 tr.release()
       
  3885             lock.release()
       
  3886         getphase = unfi._phasecache.phase
  3877         getphase = unfi._phasecache.phase
  3887         newdata = [getphase(unfi, r) for r in unfi]
  3878         newdata = [getphase(unfi, r) for r in unfi]
  3888         changes = sum(newdata[r] != olddata[r] for r in unfi)
  3879         changes = sum(newdata[r] != olddata[r] for r in unfi)
  3889         cl = unfi.changelog
  3880         cl = unfi.changelog
  3890         rejected = [n for n in nodes
  3881         rejected = [n for n in nodes