mercurial/upgrade_utils/engine.py
changeset 48790 5ba24e886cec
parent 48437 6e4999cb085e
child 48793 6e559391f96e
equal deleted inserted replaced
48789:ef50a62eec40 48790:5ba24e886cec
   484     if upgrade_actions.dirstatev2 in upgrade_op.removed_actions:
   484     if upgrade_actions.dirstatev2 in upgrade_op.removed_actions:
   485         ui.status(_(b'downgrading from dirstate-v2 to v1\n'))
   485         ui.status(_(b'downgrading from dirstate-v2 to v1\n'))
   486         upgrade_dirstate(ui, srcrepo, upgrade_op, b'v2', b'v1')
   486         upgrade_dirstate(ui, srcrepo, upgrade_op, b'v2', b'v1')
   487         upgrade_op.removed_actions.remove(upgrade_actions.dirstatev2)
   487         upgrade_op.removed_actions.remove(upgrade_actions.dirstatev2)
   488 
   488 
       
   489     if upgrade_actions.dirstatetrackedkey in upgrade_op.upgrade_actions:
       
   490         ui.status(_(b'create dirstate-tracked-key file\n'))
       
   491         upgrade_tracked_key(ui, srcrepo, upgrade_op, add=True)
       
   492         upgrade_op.upgrade_actions.remove(upgrade_actions.dirstatetrackedkey)
       
   493     elif upgrade_actions.dirstatetrackedkey in upgrade_op.removed_actions:
       
   494         ui.status(_(b'remove dirstate-tracked-key file\n'))
       
   495         upgrade_tracked_key(ui, srcrepo, upgrade_op, add=False)
       
   496         upgrade_op.removed_actions.remove(upgrade_actions.dirstatetrackedkey)
       
   497 
   489     if not (upgrade_op.upgrade_actions or upgrade_op.removed_actions):
   498     if not (upgrade_op.upgrade_actions or upgrade_op.removed_actions):
   490         return
   499         return
   491 
   500 
   492     if upgrade_op.requirements_only:
   501     if upgrade_op.requirements_only:
   493         ui.status(_(b'upgrading repository requirements\n'))
   502         ui.status(_(b'upgrading repository requirements\n'))
   658             raise
   667             raise
   659 
   668 
   660     srcrepo.dirstate.write(None)
   669     srcrepo.dirstate.write(None)
   661 
   670 
   662     scmutil.writereporequirements(srcrepo, upgrade_op.new_requirements)
   671     scmutil.writereporequirements(srcrepo, upgrade_op.new_requirements)
       
   672 
       
   673 
       
   674 def upgrade_tracked_key(ui, srcrepo, upgrade_op, add):
       
   675     if add:
       
   676         srcrepo.dirstate._use_tracked_key = True
       
   677         srcrepo.dirstate._dirty = True
       
   678         srcrepo.dirstate._dirty_tracked_set = True
       
   679         srcrepo.dirstate.write(None)
       
   680     if not add:
       
   681         srcrepo.dirstate.delete_tracked_key()
       
   682 
       
   683     scmutil.writereporequirements(srcrepo, upgrade_op.new_requirements)