o ]Lb\:@sddlmZddlmZddlmZmZmZmZ m Z m Z m Z ddlmZmZddlmZejZ     dd d Zd d ZddZdS))absolute_import)_)errorhg localrepolockpycompat requirementsscmutil)actionsengine) stringutilFNTc) CsP|durt}|}i}|dur||tj<|dur||tj<|dur(||tj<t|t |j } t |j | } | t |t|| t|} g} | D]} | j|vrc| | || jqQ|rxtjtddt|tddt|}t||| |j| }t|}t}td}td}d}tj}tj}tj}| rt|r|D] \}}|r||qnttj }|D] \}}|s||q|!rt}| || || | d d |D}|j"d d d |rtd}td}ddd|D}||;}tj||dt||dd d D]}|j#tj$kr+q |j%rd||vrd||vrM||sL|d|jf}|&|d}n|d|jf}|'||j(s_d}|||j)r||vr||vr||s|d|jf}|&|d}n|d|jf}|'||j(sd}|||j*r||vr||vr||s|d|jf}|&|d}n|d|jf}|'||j(sd}||q |dkr|&dn |dkr|'dt+|| |j||||} |sg}!g}"|D]}#|#,|r|!|#q|#j-r|"|#q|!s"|"r^|!r=|'td|!D]}$|'d|$j|$j.fq.|"rX|'td|"D]}$|'d|$j|$j.fqI|'dn|'td |'td!| /| 0| 1| 2| j3r|'td"| 4dS| js| j5s|'td#dS|6td$| /| 0| 1| 2|'td%|7|8|'td&t9j:d'|j;d(}%d}&zx|'td)|%|j <|j }'t=j>|'|%dd*}(|(7%|(8t?|||(| }&Wdn 1s wYWdn 1swYW|'td+|%|j@jA|%dd,|&rK|j(sK|&td-|&|&td.| Bn-|'td+|%|j@jA|%dd,|&rx|j(sx|&td-|&|&td.| BwWdn1swYWddSWddS1swYdS)/zUpgrade a repository in place.Ns)unknown optimization action requested: %ss, s0run without arguments to see valid optimizationshints3warning: ignoring %14s, as upgrade is changing: %s s3note: selecting %s for processing to change: %s rcSsg|]}|js|qS)compatible_with_share.0arr3/usr/lib/python3/dist-packages/mercurial/upgrade.py ts zupgraderepo..cS|jSNnamerrrrwzupgraderepo..)keys2cannot use these actions on a share repository: %ss$upgrade the main repository directlycss|]}|jVqdSrrrrrr {szupgraderepo..cSrrrrrrrrrs --no-filelogss all-filelogsrs --no-manifestsall-manifestlogss--no-changelogTs changelog sBrepository lacks features recommended by current config options: s %s %s s?repository lacks features used by the default config options: s2(no format upgrades found in existing repository) sEperforming an upgrade with "--run" will make the following changes: sKadditional optimizations are available by specifying "--optimize ": snothing to do s-upgrade will perform the following actions: sbeginning upgrade... s repository locked and read-only supgrade.)prefixdirs9creating temporary repository to stage upgraded data: %s )pathcreates!removing temporary repository %s )forciblys'copy of old repository backed up at %s sqthe old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified )Cset unfilteredupgrade_engineUPGRADE_CHANGELOGUPGRADE_MANIFESTUPGRADE_FILELOGSupgrade_actionscheck_source_requirementsrdefaultcreateoptsuinewreporequirementsupdatepreservedrequirementscheck_requirements_changesfindoptimizationsrappenddiscardrAbortrjoinsortedfind_format_upgradesdetermine_upgrade_actionsr find_format_downgradesanyvaluesitemsaddUPGRADE_ALL_REVLOGSsharedsorttypeFORMAT_VARIANTtouches_filelogswarnstatusquiettouches_manifeststouches_changelogUpgradeOperation fromconfigdefault descriptionprint_requirementsprint_optimisationsprint_upgrade_actionsprint_affected_revlogsunused_optimizationsprint_unused_optimizationsremoved_actionswritewlockrr mkdtempr% __class__r repositoryupgradevfsrmtreeprint_post_op_messages))r1reporunoptimizebackupmanifest changelogfilelogsspecified_revlogsdefault_optionsnewreqsalloptimizations optimizationsoformat_upgrades up_actionsrXtouched_revlogs overwrite_msg select_msg msg_issuedFLMNCLrlenabledunsafe_actionsmhr actionmsg upgrade_oprO onlydefaultditmppath backuppathrepouidstreporrr upgraderepo!s                                                    Trc Cs`d}t|d}|}||} | tj|tj|dkr"dSzz>t||ddd}t|d} | |krS|| } || 8}|| O}||} | tj|tjt || | t dWn;t j y} z.t d} |d krt jt d t| j| d |r|j t d t| j| d WYd} ~ nd} ~ wwW|r|dSdS|r|ww) z,Upgrades a share to use share-safe mechanismNFallowwlockrTs+repository upgraded to use share-safe mode ?see `hg help config.format.use-share-safe` for more informations upgrade-aborts&failed to upgrade share, got error: %srs'failed to upgrade share, got error: %s )r _readrequirescopyrBrequirementsmodSHARESAFE_REQUIREMENTlockmodtrylockr writerequiresrIrr LockErrorr9r forcebytestrstrerrorrelease)r1hgvfsstorevfscurrent_requirementsmismatch_config mismatch_warnrZstore_requirementsoriginal_crequirements diffrequireslocked_requirementsremovederrrrupgrade_share_to_safe,s\           rc CsTd}t|d}|}|tj8}||O}|tj|dkr!dSzz9t||ddd}t|d} | |krM|| } || 8}|| O}||O}|t tj8}t ||| t dWn;tjy} z.t d} |dkr{tjt d t| j| d |r|j t d t| j| d WYd} ~ nd} ~ wwW|r|dSdS|r|ww) z5Downgrades a share which use share-safe to not use itNTrrrs1repository downgraded to not use share-safe mode rsdowngrade-aborts(failed to downgrade share, got error: %srs)failed to downgrade share, got error: %s )rrrrWORKING_DIR_REQUIREMENTSremoverrrr(r rrIrrrr9rrrr) r1r sharedvfsrrrrZsource_requirementsrrrrrrrrdowngrade_share_to_non_safeisZ         r)FNTNNN) __future__ri18nrrrrrrr r rr upgrade_utilsr r.r r*utilsrallformatvariantrrrrrrrs"  $   =