https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/mercurial/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/mercurial/__pycache__/templatekw.cpython-310.pyc
o

�]Lb}��@sdddlmZddlmZddlmZmZddlmZm	Z	m
Z
mZmZmZm
Z
mZmZmZmZmZddlmZmZejZejZejZejZejZejZd�dd	�Zd
d�ZdZed
edddd�Z e de d<iZ!e�"e!�Z"e"ddhd�dd��Z#e"dddhd�dd��Z$e"ddhd�dd��Z%e"d dhd�d!d"��Z&e"d#ddhd�d$d%��Z'e"d&dhd�d'd(��Z(e"d)ddhd�d*d+��Z)e"d,ddhd�d-d.��Z*e"d/dhd�d0d1��Z+e"d2dhd�d3d4��Z,e"d5d6dhd�d7d8��Z-e"d9d6hd�d:d;��Z.e"d<dhd�d=d>��Z/e"d?dhd�d@dA��Z0d�dCdD�Z1d�dEdF�Z2e"dGhdH�d�dIdJ��Z3e"dKdLhd�dMdN��Z4e"dOddLhd�dPdQ��Z5e"dRddLhd�dSdT��Z6e"dUddLhd�dVdW��Z7e"dXdhd�dYdZ��Z8e"d[hd\�d�d]d^��Z9d_d`�Z:dadb�Z;dcdd�Z<e"dedfd�dgdh��Z=e"didfd�djdk��Z>e"dlhd\�d�dmdn��Z?dodp�Z@e"dqhd\�d�drds��ZAe"dthd\�d�dudv��ZBdwdx�ZCddheC_De"dyddhd�dzd{��ZEe"d|hd}�d�d~d��ZFd�d��ZGe"d�ddhd�d�d���ZHe"d�ddhd�d�d���ZIe"d�dhd�d�d���ZJe"d�dhd�d�d���ZKe"d�d6dhd�d�d���ZLe"d�d�hd�d�d���ZMe"d�dhd�d�d���ZNe"d�ddhd�d�d���ZOe"d�dhd�d�d���ZPe"d�d�hd�d�d���ZQe"d�hd��d�d�d���ZRe"d�ddhd�d�d���ZSe"d�ddhd�d�d���ZTe"d�dhd�d�d���ZUe"d�dhd�d�d���ZVe"d�dhd�d�d���ZWe"d�dhd�d�d���ZXe"d�dhd�d�d���ZYe"d�dhd�d�d���ZZe"d�ddhd�d�d���Z[e"d�dhd�d�d„�Z\e"d�dhd�d�dń�Z]e"d�dhd�d�dȄ�Z^e"d�dhd�d�d˄�Z_e"d�ddhd�d�d΄�Z`e"d�d6hd�d�dф�Zae"d�dhd�d�dԄ�Zbe"d�dhd�d�dׄ�Zce"d�d6hd�d�dڄ�Zde"d�ddhd�d�d݄�Zed�d߄Zfe!�g�ZhdS)��)�absolute_import�)�_)�hex�wdirrev)�diffutil�encoding�error�hbisect�i18n�obsutil�patch�pycompat�	registrar�scmutil�templateutil�util)�
stringutil�urlutilNc
s�|�|d��|�|d��|�|d�}d}|dur&|d|7}t�|�d�ntj�||vr7dd	d	d
gfi||<||����}|g}|r�|��}|�vrMqB�|���fdd����D�}|rr���d	d	d
d�t	|�D�f�|<qBz?�fdd���
�D�}t|�dkr�|d	d|ddkr�t|�\}	}
}n��fdd�}t||d�\}	}
}n|d	\}	}
}Wnt
y�|�|�|�dd���
�D��YqBw|	|
d|f�|<|sD�|S)z8return date, distance and name for the latest tag of rev�repo�ctx�caches
latesttagsN�-����rsnullcs0g|]}��|�r��|�dkr�|�r|�qS)slocal)�tagtype��.0�t)�match�repo��6/usr/lib/python3/dist-packages/mercurial/templatekw.py�
<listcomp>Es��z!getlatesttags.<locals>.<listcomp>cSsg|]}|�qSr!r!rr!r!r"r#Kscsg|]}�|���qSr!��rev�r�p��
latesttagsr!r"r#Nsrcsn|dd}���dur#dd����D�}��d||�}t|�d}n
��d���|�}t|�}||dgS)NrrcS�g|]}|���qSr!r$)r�cr!r!r"r#Z�z.getlatesttags.<locals>.key.<locals>.<listcomp>�
only(%ld, %s)rsonly(%d, %s))r%�parents�revs�len)�x�tag�prevs�changes�changessincetag)�ctxr r!r"�keyVszgetlatesttags.<locals>.key)r7css�|]}|��VqdS�Nr$r&r!r!r"�	<genexpr>j��z getlatesttags.<locals>.<genexpr>)�resourcer�
stringmatcherr�alwaysr%�pop�tags�date�sortedr.r0�max�KeyError�append�extend)
�context�mapping�pattern�cache�	cachenamer%�todor?�ptags�pdate�pdist�ptagr7r!)r6r)rr r"�
getlatesttags+sR�$�
��-rPcCs6tj}|d�}ttdd�|��D�t�|��d���S)z"Return a dict of log column labelssbookmark:    %s
branch:      %s
changeset:   %s
copies:      %s
date:        %s
extra:       %s=%s
files+:      %s
files-:      %s
files:       %s
instability: %s
manifest:    %s
obsolete:    %s
parent:      %s
phase:       %s
summary:     %s
tag:         %s
user:        %s
cSsg|]
}|�dd�d�qS)�:rr)�split)r�sr!r!r"r#��z!getlogcolumns.<locals>.<listcomp>T)r�identity�dict�zip�
splitlinesrr)r�columnsr!r!r"�
getlogcolumnsps���rZs{rev}:{node|formatnode}� s{name} ({source})s
{key}={value}s{key}={value|stringescape})�parent�manifest�	file_copy�envvar�extrar^sfilecopysauthorr)�requirescC�
t||�S)zAlias for ``{user}``)�showuser�rFrGr!r!r"�
showauthor�s
resbisectrcCs(|�|d�}|�|d�}t�||���S)z'String. The changeset bisection status.rr)r;r
�label�node)rFrGr r6r!r!r"�
showbisect�srh�branchcC�|�|d�}|��S)zMString. The name of the branch on which the changeset was
    committed.
    r)r;�branch�rFrGr6r!r!r"�
showbranch��rm�branchescCsB|�|d�}|��}|dkrt||d|gdd�St||dgdd�S)z�List of strings. The name of the branch on which the
    changeset was committed. Will be empty if the branch name was
    default. (DEPRECATED)
    rsdefaultriro��plural)r;rk�
compatlist)rFrGr6rkr!r!r"�showbranches�s�rss	bookmarkscsP|�|d�}|�|d�}|��}|j��fdd�}t||d|�}t|||tj�S)z{List of strings. Any bookmarks associated with the
    changeset. Also sets 'active', the name of the active bookmark.
    rrcs|��d�S)N)�bookmarksactivescurrentr!��v��activer!r"�<lambda>��zshowbookmarks.<locals>.<lambda>rt)r;�	bookmarks�_activebookmark�_showcompatlist�_hybridrrU)rFrGr r6r{�makemap�fr!rwr"�
showbookmarks�sr��childrencCs0|�|d�}dd�|��D�}t||d|dd�S)z/List of strings. The children of the changeset.rcSsg|]
}d|��|f�qS)s%d:%sr$)r�cctxr!r!r"r#�rTz showchildren.<locals>.<listcomp>r�schild)�element)r;�childrenrr)rFrGr6�	childrevsr!r!r"�showchildren�s

�r�scurrentbookmarkcCrb)zUString. The active bookmark, if it is associated with the changeset.
    (DEPRECATED))�showactivebookmarkrdr!r!r"�showcurrentbookmark�s
r�sactivebookmarkcCs6|�|d�}|�|d�}|j}|r||��vr|SdS)zDString. The active bookmark, if it is associated with the changeset.rr�)r;r|r{)rFrGr r6rxr!r!r"r��sr�sdatecCs|�|d�}tj|��dd�S)z<Date information. The date when the changeset was committed.rs%d.0%d)�showfmt)r;rr@rlr!r!r"�showdate�sr�sdesccCsV|�|d�}|��}t|tj�rt�t�|����St|tj�r't�|���S|��S)z.String. The text of the changeset description.r)	r;�description�
isinstancer�localstr�tolocal�	fromlocal�strip�safelocalstr)rFrGr6rSr!r!r"�showdescription�sr�sdiffstat�uicCsj|�|d�}|�|d�}t�|ddi�}|j|d�}t�t�|��}t�|�\}}}	}
}dt	|�|	|
fS)ziString. Statistics of changes with the following format:
    "modified files: +added/-removed lines"
    r�rsnoprefixF)�optss%d: +%d/-%d)
r;r�diffallopts�diffr
�diffstatdatar�	iterlines�diffstatsumr0)rFrG�uir6�diffoptsr��stats�maxname�maxtotal�adds�removes�binaryr!r!r"�showdiffstat
sr��envvarscsB|�|d�}|���t��fdd�t��D���t||d�dd�S)z5A dictionary of environment variables. (EXPERIMENTAL)r�c3��|]	}|�|fVqdSr8r!�r�k��envr!r"r9��zshowenvvars.<locals>.<genexpr>r_r�rp)r;�exportableenvironr�sortdictrA�
compatdict�rFrGr�r!r�r"�showenvvarssr��extrascsv|�|d�}|���t��fdd�t��D����fdd���fdd��D�}t||d|d	d
�}t|���fdd��S)zRList of dicts with key, value entries of the 'extras'
    field of this changeset.rc3r�r8r!r���extrasr!r"r9'r�zshowextras.<locals>.<genexpr>cs|�|d�S)N)skeysvaluer!�r�r�r!r"ry(�zshowextras.<locals>.<lambda>csg|]}�|��qSr!r!r�)rr!r"r#)r,zshowextras.<locals>.<listcomp>r`r�rpcsd|t��|�fS�Ns%s=%s)r�	escapestrr�r�r!r"ry/s)r;�extrarr�rAr}r~)rFrGr6r+r�r!)r�rr"�
showextras!s
�r�s
_fast_rankcCs(|�|d�}|��}|durdSd|S)z�the rank of a changeset if cached

    The rank of a revision is the size of the sub-graph it defines as a head.
    Equivalently, the rank of a revision `r` is the size of the set
    `ancestors(r)`, `r` included.
    rNs%d)r;�	fast_rank)rFrGr6�rankr!r!r"r�3s
r�FcCsZ|�|d�}|�|d�}d|vs|d|kr)|��j||||d�}||d<||d<|dS)Nr�revcaches
filestatus�
filestatusall)�listignored�	listclean�listunknown)r;�p1�status)rFrG�listallr6�revcache�statr!r!r"�_getfilestatusBs�r�cst|�|d�}d|vs|d|kr6t|||d�}i|d<}tt�d�|�D]\�}|��fdd�|D��q%|dS)Nr�s
filestatusmapr��r�sMAR!?ICc3s�|]}|�fVqdSr8r!)rr���charr!r"r9Tr:z$_getfilestatusmap.<locals>.<genexpr>)r;r�rWr�iterbytestr�update)rFrGr�r�r��statmap�filesr!r�r"�_getfilestatusmapNsr�sfile_copies>rrrr�cCst|�|d�}|�|d�}|�|d�}|�|d��d�}|dur2d|vr*t�|�|d<|d}||�}t�||d|�S)	zLList of strings. Files copied in this changeset with
    their sources.
    rrrr��copiesNs	getcopiesr^)r;�getr�getcopiesfnr�compatfilecopiesdict)rFrGr r6rI�copies�	getcopiesr!r!r"�showfilecopiesXs�r�sfile_copies_switchr�cCs&|�|d��d�p
g}t�||d|�S)z^List of strings. Like "file_copies" but displayed
    only if the --copied switch is set.
    r�r�r^)r;r�rr�)rFrGr�r!r!r"�showfilecopiesswitchps�r�s	file_addscC� |�|d�}t�||d|���S)z/List of strings. Files added by this changeset.rsfile_add)r;r�compatfileslist�
filesaddedrlr!r!r"�showfileadds{��r�s	file_delscCr�)z1List of strings. Files removed by this changeset.rsfile_del)r;rr��filesremovedrlr!r!r"�showfiledels�r�r�s	file_modscCr�)z2List of strings. Files modified by this changeset.rsfile_mod)r;rr��
filesmodifiedrlr!r!r"�showfilemods�r�r�sfilescCr�)zRList of strings. All files modified, added, or removed by this
    changeset.
    rsfile)r;rr�r�rlr!r!r"�	showfiles�sr�s	graphnode>rrrcCs0|�|d�}|�|d�}|�|d�}t|||�S)zUString. The character representing the changeset node in an ASCII
    revision graph.rrr)r;�getgraphnode)rFrGr r6rIr!r!r"�
showgraphnode�sr�cCst|||�p	t|�Sr8)�getgraphnodecurrent�getgraphnodesymbol)r r6rIr!r!r"r��sr�cCs�|j��}|d|jkr|dd�}|��|vrdS|�d�}|dur@ddlm}|j�|�}|��r:|j	|j
f}nd}||d<|��|vrHdSdS)Nr�@smerge_nodes)�
mergestater!�%r�)�dirstater.�nullidrgr��r��read�unresolvedcount�local�other)r r6rI�wpnodes�merge_nodes�
mergestatemodr�r!r!r"r��s 

r�cCs(|��rdS|��rdS|��rdSdS)N�x�*�_�o)�obsolete�
isunstable�closesbranch�r6r!r!r"r��sr�s
graphwidthr!cCsdS)z?Integer. The width of the graph drawn by 'log --graph' or zero.rr!rdr!r!r"�showgraphwidth�sr�sindexcCst�td���)z7Integer. The current iteration of the loop. (0 indexed)scan't use index in this context)r	�Abortrrdr!r!r"�	showindex�sr��	latesttagcC�t||d�S)z�List of strings. The global tags on the most recent globally
    tagged ancestor of this changeset.  If no such tags exist, the list
    consists of the single string "null".
    N)�showlatesttagsrdr!r!r"�
showlatesttag�srcsBt|||���fdd�}�d}t||d|dd�}t|||tj�S)z4helper method for the latesttag keyword and functioncst�d||d�S)Nr)schangessdistancer��tag)�_showchangessincetagrur(r!r"ry�s
�z showlatesttags.<locals>.<lambda>rr�rQ)�	separator)rPr}r~rrU)rFrGrHrr?r�r!r(r"r��s
r�slatesttagdistancecCst||�dS)z(Integer. Longest path to the latest tag.r)rPrdr!r!r"�showlatesttagdistance�srschangessincelatesttagcCs,t||�dd}|�|d|i�}t||�S)z-Integer. All ancestors not in the latest tag.rrr)rP�
overlaymapr)rFrGr2r!r!r"�showchangessincelatesttag�s
rcCsj|�|d�}|�|d�}d}|��g}|�|d�}|��dur*d}dd�|��D�}t|�d||��|S)	NrrrrrcSr*r!r$r&r!r!r"r#r,z(_showchangessincetag.<locals>.<listcomp>r-)r;r%�symbolr.r0r/)rFrGr r6�offsetr/r2r!r!r"rs
rr]cs�|�|d�}|�|d�}|��}|dur|jj}t�|jj�n
|j�|��t|��|�	|��d��}|�
d|�}t�|d|��fdd��S)Nrr��rev�noder]cs
��d�S)Nr	r!�r1��mhex�mrevr!r"ry)s
zshowmanifest.<locals>.<lambda>)
r;�manifestnode�
nodeconstants�wdiridr�wdirhex�manifestlogr%rr�processr�
hybriditem)rFrGr r6�mnoder�r!r
r"�showmanifests
�rsobsfate>r�rrcCslt||�}|�|d�}|�|d�}g}|�||�D]}t�|||d|dtj�}|�|�qt||d|�S)Nr�r�
successors�markerssfate)	�showsuccsandmarkersr;�tovaluer�obsfateprinterr�formatchangeidrDrr)rFrG�succsandmarkersr�r �valuesr1rvr!r!r"�showobsfate-s
�r!cCsT|�|d�}|�|d�}|j�|�}|durdS|�||���}t|||j||d�S)z<helper method to generate a template keyword for a namespacerrNrp)r;�namesr�rgrr�templatename)rFrG�	namespacer r6�nsr"r!r!r"�	shownamesBs�r&s
namespacesc	s�|�|d��|�|d�}t���dd�}t��j�D]\}}|��|���}t||d|�}t||||�tj	��|<qt||dt
���}��fdd�}t|�|tj	�S)	zBDict of lists. Names attached to this changeset per
    namespace.rrcs�fdd�S)Ncsd|�j|iS)N�name)r#ru�r%r!r"ry\r�z5shownamespaces.<locals>.makensmapfn.<locals>.<lambda>r!r(r!r(r"�makensmapfnZsz#shownamespaces.<locals>.makensmapfnr'�	namespacecs"|�|�j|j�j|jd�S)N)r*snamessbuiltins	colorname)r"�builtin�	colornamer(��
namespacesr r!r"res


�zshownamespaces.<locals>.makemap)r;rr�r�	iteritemsr"rgr}r~rU�list)	rFrGr6r)r�r%r"r�rr!r-r"�shownamespacesQsr1snegrevcCs@|�|d�}|��}|dus|dkrdS|�|d�}|t|�S)zmInteger. The repository-local changeset negative revision number,
    which counts in the opposite direction.rNrr)r;r%r0)rFrGr6r%r r!r!r"�
shownegrevpsr2rcCrj)zUString. The changeset identification hash, as a 40 hexadecimal
    digit string.
    r)r;rrlr!r!r"�shownode|rnr3�obsoletecCs|�|d�}|��rdSdS)z9String. Whether the changeset is obsolete. (EXPERIMENTAL)rr4r�)r;r�rlr!r!r"�showobsolete�sr5sonelinesummarycCs0ddlm}|�|d�}|�|d�}|�||�S)z�String. A one-line summary for the ctx (not including trailing newline).
    The default template be overridden in command-templates.oneline-summary.r)�cmdutilr�r)r�r6r;�format_changeset_summary)rFrGr6r�r6r!r!r"�showonelinesummary�sr8�path�fctxcCrj)zDString. Repository-absolute path of the current file. (EXPERIMENTAL)r:)r;�path�rFrG�fctxr!r!r"�showpath��r>speerurlscsZ|�|d�}|jj�t�|j�}t�dd�|D����fdd�}�fdd�}td�||�S)	zcA dictionary of repository locations defined in the [paths] section
    of your configuration file.rcss�|]
\}}||jfVqdSr8)�rawloc)rr�r'r!r!r"r9�s�zshowpeerurls.<locals>.<genexpr>cs��|}d|i}t|�dkr)|dj|d<t�|dj�}t�t|��}|�|�t��}|D]}t�tt�|j���}|j|d<|�|�|g|d<q/|S)Nr'rrsurlsurls)	r0r@rr/�
suboptionsrr�rAr�)r��ps�d�sub_opts�	path_dictr')�pathsr!r"r�s


zshowpeerurls.<locals>.makemapcsd|�|fSr�r!r�)�urlsr!r"�
format_one�sz showpeerurls.<locals>.format_oneN)r;r�rFr�
list_pathsrr�r~)rFrGr �	all_pathsrrHr!)rFrGr"�showpeerurls�srKspredecessorscsV|�|d��|�|d�}tt��|����}t�t|�}td|�fdd��fdd��S)zDReturns the list of the closest visible predecessors. (EXPERIMENTAL)rrNc�d�|iS�Nrr!r�r r!r"ry�rzz"showpredecessors.<locals>.<lambda>c�t��|�Sr8�rrrrNr!r"ry�r�)	r;rAr�closestpredecessorsrgr�maplistrr~)rFrGr6�predecessorsr!rNr"�showpredecessors�s

�rTsreporootcCs|�|d�}|jS)z5String. The root directory of the current repository.r)r;�root)rFrGr r!r!r"�showreporoot�srVssizecCrj)z:Integer. Size of the current file in bytes. (EXPERIMENTAL)r:)r;�sizer<r!r!r"�showsize�r?rXsstatus>rr:r�cCsNt�||d�}t�|||�}|sdSt||�}||vr"t||dd�}|�|�S)z7String. Status code of the current file. (EXPERIMENTAL)r9NTr�)r�	runsymbol�	stringifyr�r�)rFrGr;r�r!r!r"�
showstatus�s

r[ssuccessorssetscs����d�����d�}g}|��r<tj�|��dd�}dd�|D�}|D]}td|�fdd	��fd
d	��}|�|�q%��fdd���fd
d�}t||�|dd	�tj�S)z�Returns a string of sets of successors for a changectx. Format used
    is: [ctx1, ctx2], [ctx3] if ctx has been split into ctx1 and ctx2
    while also diverged into ctx3. (EXPERIMENTAL)rrT)�closestcSsg|]	}dd�|D��qS)cS�g|]}t|��qSr!�r�r�nr!r!r"r#�r,z1showsuccessorssets.<locals>.<listcomp>.<listcomp>r!)r�ssr!r!r"r#�sz&showsuccessorssets.<locals>.<listcomp>NcrLrMr!rrNr!r"ry�rzz$showsuccessorssets.<locals>.<lambda>crOr8rPrrNr!r"ryr�cst���|�Sr8)rrZ)rCrdr!r"�rendersz"showsuccessorssets.<locals>.renderc3s �d��fdd�|D��VdS)Ns; c3s�|]}�|�VqdSr8r!)rrC�rbr!r"r9	r:z2showsuccessorssets.<locals>.gen.<locals>.<genexpr>)�join)�datarcr!r"�gens�zshowsuccessorssets.<locals>.gencSsd|iS)Nssuccessorsetr!rr!r!r"rys)	r;r�r�successorssetsrgr~rDrrU)rFrGr6re�ssetsra�hrfr!)rFrGrbr r"�showsuccessorssets�s&

��rjssuccsandmarkersc
s|�|d��|�|d�}t��|�}|durg}g}|D]i}|d}dd�|D�}td|�fdd��fd	d��}g}|d
D]>}t|d�}	tdd
�|dD��}
d}|ddurdtdd
�|dD��}|	|
f|dd�|f|dd�}|�|�q>|�||d��qt�|�S)z�Returns a list of dict for each final successor of ctx. The dict
    contains successors node id in "successors" keys and the list of
    obs-markers from ctx to the set of successors in "markers".
    (EXPERIMENTAL)
    rrNrcSr]r!r^r_r!r!r"r#%r,z'showsuccsandmarkers.<locals>.<listcomp>crLrMr!rrNr!r"ry)rzz%showsuccsandmarkers.<locals>.<lambda>crOr8rPrrNr!r"ry*r�rrcs��|]}t|�VqdSr8r^r_r!r!r"r91r:z&showsuccsandmarkers.<locals>.<genexpr>r�csrkr8r^r_r!r!r"r94r:r�)rr)	r;r�successorsandmarkersr~r�tuplerDr�mappinglist)
rFrGr6r re�i�
successors�finalmarkers�m�hexprec�hexsucs�
hexparents�	newmarkerr!rNr"rs4

�&
rsp1cC�"|�|d�}tjd|��itd�S)z�Changeset. The changeset's first parent. ``{p1.rev}`` for the revision
    number, and ``{p1.node}`` for the identification hash.r��tmpl)r;r�mappingdictr��
_changeidtmplrlr!r!r"�showp1=�r~sp2cCry)z�Changeset. The changeset's second parent. ``{p2.rev}`` for the revision
    number, and ``{p2.node}`` for the identification hash.rrz)r;rr|�p2r}rlr!r!r"�showp2Err�sp1revcC�|�|d�}|����S)z�Integer. The repository-local revision number of the changeset's
    first parent, or -1 if the changeset has no parents. (DEPRECATED)r)r;r�r%rlr!r!r"�	showp1revM�r�sp2revcCr�)z�Integer. The repository-local revision number of the changeset's
    second parent, or -1 if the changeset has no second parent. (DEPRECATED)r)r;r�r%rlr!r!r"�	showp2revUr�r�sp1nodecCr�)z�String. The identification hash of the changeset's first parent,
    as a 40 digit hexadecimal string. If the changeset has no parents, all
    digits are 0. (DEPRECATED)r)r;r�rrlr!r!r"�
showp1node]�r�sp2nodecCr�)z�String. The identification hash of the changeset's second
    parent, as a 40 digit hexadecimal string. If the changeset has no second
    parent, all digits are 0. (DEPRECATED)r)r;r�rrlr!r!r"�
showp2nodefr�r�sparentscsp|�|d��|�|d�}t��|�}dd�|D�}dd�|D�}t||d|�}t||�fdd��fd	d�td
�S)z�List of strings. The parents of the changeset in "rev:node"
    format. If the changeset has only one "natural" parent (the predecessor
    revision) nothing is shown.rrcSr*r!r$r&r!r!r"r#wr,zshowparents.<locals>.<listcomp>cSs.g|]}d|��fd|��fd|��fg�qS)r
r�phase)r%r�phasestrr&r!r!r"r#xs ��r\crLrMr!rrNr!r"ry�rzzshowparents.<locals>.<lambda>crOr8rPrrNr!r"ry�r�)�keytype)r;r�meaningfulparentsr}r~�int)rFrGr6�pctxsr3r.r�r!rNr"�showparentsos�

�r�r�cCrj)z!String. The changeset phase name.r)r;r�rlr!r!r"�	showphase�r?r�sphaseidxcCrj)z.Integer. The changeset phase index. (ADVANCED)r)r;�phaserlr!r!r"�showphaseidx�r?r�r
cCs|�|d�}t�|�S)z8Integer. The repository-local changeset revision number.r)r;r�intrevrlr!r!r"�showrev�s
r�ssubreposcCs�|�|d�}|j}|st||dg�S|��jpi}g}|D]}||vs+||||kr0|�|�q|D]}||vr>|�|�q3t||dt|��S)z:List of strings. Updated subrepositories in the changeset.rssubrepo)r;�substaterrr�rDrA)rFrGr6r��	psubstate�subrepos�subr!r!r"�showsubrepos�s
�
�r��tagscCr�)z8List of strings. Any tags associated with the changeset.r�)r&rdr!r!r"�showtags�sr�s	termwidthcCrj)z+Integer. The width of the current terminal.r�)r;�	termwidthr�r!r!r"�
showtermwidth�r?r�susercCrj)z/String. The unmodified author of the changeset.r)r;�userrlr!r!r"rc�r?rc�
instabilitiescCs"|�|d�}t||d|��dd�S)zYList of strings. Evolution instabilities affecting the changeset.
    (EXPERIMENTAL)
    rsinstabilityr�rp)r;rr�
instabilitiesrlr!r!r"�showinstabilities�s�r�s	verbositycCs.|�|d�}|jrdS|jrdS|jrdSdS)zOString. The current output verbosity in 'debug', 'quiet', 'verbose',
    or ''.r�sdebugsquietsverboser�)r;�	debugflag�quiet�verboser�r!r!r"�
showverbosity�sr�swhyunstablecs�|�|d��|�|d�}dd��t��|�}|D]$}|�d�r<|d}tddd�|D��fd	d
���fdd
��}||d<qd}tj||d
d�S)zRList of dicts explaining all instabilities of a changeset.
    (EXPERIMENTAL)
    rrcSsdt�|�|��fS)Ns%s (%s))rrr�r�r!r!r"�
formatnode�sz#showwhyunstable.<locals>.formatnodesdivergentnodesNcSr*r!r^)r�dnoder!r!r"r#�r,z#showwhyunstable.<locals>.<listcomp>crLrMr!rrNr!r"ry�rzz!showwhyunstable.<locals>.<lambda>cs��|�Sr8r!r�r�r r!r"ry�rzsM{instability}:{if(divergentnodes, " ")}{divergentnodes} {reason} {node|short}�
)r{�sep)r;r�whyunstabler�r~rrp)rFrGr6�entries�entry�dnodes�dnhybridr{r!r�r"�showwhyunstable�s$

���r�cCs"t�|j�D]\}}|t|<qdS)z1Load template keyword from specified registrarobjN)rr/�_table�keywords)r��extname�registrarobj�name�funcr!r!r"�loadkeywords
�r�r8)F)i�
__future__rrrrgrrr�rrr	r
rr
rrrrr�utilsrr�hybridr~�
hybriddict�
hybridlistr�rrr}rPrZr}�defaulttemplr��templatekeywordrerhrmrsr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rrr�	_requiresrr!r&r1r2r3r5r8r>rKrTrVrXr[rjrr~r�r�r�r�r�r�r�r�r�r�r�r�rcr�r�r�r�r �
i18nfunctionsr!r!r!r"�<module>s08
E �



















�







	





















!
,


















https://t.me/RX1948 - 2025