HEX
Server: Apache
System: Linux p102.lithium.hosting 4.18.0-553.141.1.el8_10.x86_64 #1 SMP Fri Jul 10 17:48:02 UTC 2026 x86_64
User: bvzmoamr (9955)
PHP: 8.1.34
Disabled: syslog
Upload Files
File: //usr/lib64/python2.7/site-packages/hgext/mq.pyo
�
1�3\c@@s�dZddlmZmZddlZddlZddlZddlZddlm	Z	ddl
mZmZm
Z
mZmZddlmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z'ddl(m)Z)m*Z*ej+Z+dd	e,e	d
�fgZ-iZ.e j/e.�Z/dZ0iZ1e j2e1�Z2e2dd
dd�e2ddde3�e2ddde3�e2ddde3�yej4d�Z5Wn?e6k
rde7fd��YZ8ej9e8�dd�Z5nXe5j:Z:e5j;Z;e5j<Z<e%j=Z>de7fd��YZ?ddddddgZ@idd6d d!6d"d#6ZAd$�ZBd%�ZCd&e7fd'��YZDd(�ZEd)ejFfd*��YZGd+e7fd,��YZHd-�ZIe/d.d/d0e,e	d1�fd2d3ge	d4�e	d5�fge	d6�d7e/jJ�d8��ZKe/d9d:d;e,e	d<�fge-e	d=�d7e/jJ�e,d>��ZLe/d?d:d@e,e	dA�fge-e	dB�d7e/jJ�e,dC��ZMe/dDdEdFe,e	dG�fdHdIde	dJ�e	dK�fdLdMe,e	dN�fd2d3ge	dO�e	d5�fdPd
e,e	dQ�fdRdSe,e	dT�fge	dU�d7e/jN�dV��ZOdW�ZPe/dXdYdZe,e	d[�fge	d\�d7e/jQd]eR�d^��ZSe/d_dd`e,e	da�fdbdce,e	dd�fddee,e	df�fdgdhde	di�e	dj�fgejTe	dk�d7e/jQdleR�e,dm��ZUe/dnejVdod e	dp�d7e/jWdqeR�dr��ZXe/dsdtdue,e	dv�fge-e	dw�d7e/jJ�dx��ZYe/dye-e	dz�d7e/jJ�d{��ZZe/d|e-e	d}�d7e/jJ�d~��Z[e/de-e	d��d7e/jJ�d���Z\d��Z]e/d�dEd�e,e	d��fdLdMe,e	d��fdPd
e,e	dQ�fdbd�e,e	d��fd�d�de	d��e	d��fd�d�e,e	d��fd�d!de	d��e	d��fgej^ej_e	d��d7e/jWd]eRdqeR�d���Z`e/d�dEd�e,e	d��fdPd
e,e	dQ�fdd�e,e	d��fdbd�e,e	d��fd�d�de	d��e	d��fd�d�e,e	d��fd�d!de	d��e	d��fgej^ej_e	d��d7e/jWd]eRdqeR�d���Zae/d�ejbejcej^e	d��d7e/jdd]eRdqeR�d���Zee/d�dEd�e,e	d��fd/d0e,e	d��fgej_e	d��d7e/jf�d���Zge/d�dd�e,e	d��fdLdMe,e	d��fdd�e,e	d��fge	d��d7e/jJ�d���Zhe/d�d�d�e,e	d��fdHd�e,e	d��fge	d��d7e/jJ�d���Zie/d�ge	d��d7e/jJ�e,d���Zjd��Zkd��Zle/d�dd�e,e	d��fdLdMe,e	d��fdEd�e,e	d��fd�d�e,e	d��fd�d�e,e	d��fdtd�e,e	d��fdHdIde	d��e	dK�fdd�e,e	d��fdd�e,e	d��fg	e	d��d7e/jJd]eR�e,d���Zme/d�d�d�e,e	d��fdHdIde	d��e	dK�fdd�e,e	d��fdLdMe,e	d��fdd�e,e	d��fge	d��d7e/jJd]eR�e,d���Zne/d�ge	d��d7e/jJ�e,d���Zoe/d�d�d�e,e	d��fd�d�e,e	d��fge	d��d7e/jJ�d���Zpe/d�dYd�e,e	d��fdHdIde	d��e	dK�fdEd�e,e	d��fdLdMe,e	d��fgej_e	d��d7e/jJ�d���Zqe/d�dHd�e,e	d��fdd�e,e	d��fdd�e,e	d��fdd�e,e	d��fge	d��d7e/jJ�d���Zre/d�d�d�e,e	d��fge	d��d7e/jJ�d���Zse/d�d�d�e3e	d��fdd�e3e	d��fdYd�e3e	d��fdd�e3e	d��fdd�e3e	d��fdd�e3e	d��fge	d��d7e/jJ�e,d���Ztd��Zud��Zvd�Zwd�Zxd�Zyd�Zze j{�Z{e{d�d��Z|e|gZ}d�Z~idd6d	d
6dd6d
d6dd6dd6dd6ZdS(smanage a stack of patches

This extension lets you work with a stack of patches in a Mercurial
repository. It manages two stacks of patches - all known patches, and
applied patches (subset of known patches).

Known patches are represented as patch files in the .hg/patches
directory. Applied patches are both patch files and changesets.

Common tasks (use :hg:`help COMMAND` for more details)::

  create new patch                          qnew
  import existing patch                     qimport

  print patch series                        qseries
  print applied patches                     qapplied

  add known patch to applied stack          qpush
  remove patch from applied stack           qpop
  refresh contents of top applied patch     qrefresh

By default, mq will automatically use git patches when required to
avoid losing file mode changes, copy records, binary files or empty
files creations or deletions. This behavior can be configured with::

  [mq]
  git = auto/keep/yes/no

If set to 'keep', mq will obey the [diff] section configuration while
preserving existing git patches upon qrefresh. If set to 'yes' or
'no', mq will override the [diff] section and always generate git or
regular patches, possibly losing data in the second case.

It may be desirable for mq changesets to be kept in the secret phase (see
:hg:`help phases`), which can be enabled with the following setting::

  [mq]
  secret = True

You will by default be managing a patch queue named "patches". You can
create other, independent patch queues with the :hg:`qqueue` command.

If the working directory contains uncommitted files, qpush, qpop and
qgoto abort immediately. If -f/--force is used, the changes are
discarded. Setting::

  [mq]
  keepchanges = True

make them behave as if --keep-changes were passed, and non-conflicting
local changes will be tolerated and preserved. If incompatible options
such as -f/--force or --exact are passed, this setting is ignored.

This extension used to provide a strip command. This command now lives
in the strip extension.
i(tabsolute_importtprint_functionN(t_(tbinthextnullidtnullrevtshort(tcmdutiltcommandst
dirstateguardtencodingterrort
extensionsthgt	localrepotlockt
logcmdutiltpatchtphasestpycompatt	registrart
revsetlangtscmutiltsmartsettsubrepoutiltutiltvfs(tdateutilt
stringutiltstsummarys print first line of patch headersships-with-hg-coretmqtgittdefaulttautotkeepchangestplaintsecrettstriptdummyuicB@seZd�ZRS(cC@sdS(N((tselftmsg((s./usr/lib64/python2.7/site-packages/hgext/mq.pytdebug�s(t__name__t
__module__R+(((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR(�sttstatusentrycB@s8eZd�Zd�Zeje�Zeje�ZRS(cC@s|||_|_dS(N(tnodetname(R)R0R1((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt__init__�scC@st|j�d|jS(Nt:(RR0R1(R)((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	__bytes__�s(R,R-R2R4Rt	strmethodt__str__t__repr__(((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR/�s		s# User s# Date s#      s	# Branch s
# Node ID s
# Parent  tfromitdateitsubjectc
C@s�|jd�d}tj|�}t|�}x�t|t|��D]�}||}|jd�svt||�}Pnxitt�D][\}}	|j|	�r�||kr�||||<|S||kr�t||�}nPq�q�WqDW|j|||�|S(s�Assuming lines contains a HG patch header, add a header line with value.
    >>> try: inserthgheader([], b'# Date ', b'z')
    ... except ValueError as inst: print("oops")
    oops
    >>> inserthgheader([b'# HG changeset patch'], b'# Date ', b'z')
    ['# HG changeset patch', '# Date z']
    >>> inserthgheader([b'# HG changeset patch', b''], b'# Date ', b'z')
    ['# HG changeset patch', '# Date z', '']
    >>> inserthgheader([b'# HG changeset patch', b'# User y'], b'# Date ', b'z')
    ['# HG changeset patch', '# User y', '# Date z']
    >>> inserthgheader([b'# HG changeset patch', b'# Date x', b'# User y'],
    ...                b'# User ', b'z')
    ['# HG changeset patch', '# Date x', '# User z']
    >>> inserthgheader([b'# HG changeset patch', b'# Date y'], b'# Date ', b'z')
    ['# HG changeset patch', '# Date z']
    >>> inserthgheader([b'# HG changeset patch', b'', b'# Date y'],
    ...                b'# Date ', b'z')
    ['# HG changeset patch', '# Date z', '', '# Date y']
    >>> inserthgheader([b'# HG changeset patch', b'# Parent  y'],
    ...                b'# Date ', b'z')
    ['# HG changeset patch', '# Date z', '# Parent  y']
    s# HG changeset patchis# (tindext	HGHEADERStlentranget
startswithtmint	enumeratetinsert(
tlinestheadertvaluetstarttnewindextbestpostitlinet	lineindexth((s./usr/lib64/python2.7/site-packages/hgext/mq.pytinserthgheader�s$
c	C@st|j�}t|�}x�t|�D]�\}}d|kr�|jdd�dj�j�}tj||d�}||kr�d||f||<|S||kr�||kr�|}q�q)|r�|j|d�n||kr�|}nPq)W|j|d||f�|S(s�For lines containing a plain patch header, add a header line with value.
    >>> insertplainheader([], b'Date', b'z')
    ['Date: z']
    >>> insertplainheader([b''], b'Date', b'z')
    ['Date: z', '']
    >>> insertplainheader([b'x'], b'Date', b'z')
    ['Date: z', '', 'x']
    >>> insertplainheader([b'From: y', b'x'], b'Date', b'z')
    ['From: y', 'Date: z', '', 'x']
    >>> insertplainheader([b' date : x', b' from : y', b''], b'From', b'z')
    [' date : x', 'From: z', '']
    >>> insertplainheader([b'', b'Date: y'], b'Date', b'z')
    ['Date: z', '', 'Date: y']
    >>> insertplainheader([b'foo: bar', b'DATE: z', b'x'], b'From', b'y')
    ['From: y', 'foo: bar', 'DATE: z', '', 'x']
    R3iis%s: %sR.(tPLAINHEADERStlowerR=RAtsplitR'tgetRB(	RCRDREtnewprioRHRIRJtlheadertlprio((s./usr/lib64/python2.7/site-packages/hgext/mq.pytinsertplainheader�s$"	tpatchheadercB@sYeZed�Zd�Zd�Zd�Zd�Zd�Ze	j
e�Zd�ZRS(cC@s�d�}d�}g}g}d}d}d}	d}
d}d}d}
d}x[t|d�D]J}|j�}|jd�s�|r�|jd�r�d}Pnd}|jd�r�d	}q^n�|
d
kr�|jd�r�|d}q�|jd
�r|d}q�|jd�r%|dj�}	q�|jd�rA|d}q�|jd�r]|d}
q�|jd�r�|r�|j|�d}
q�n|dkr�g}d
}
n�|
dkr�|jd�s�|jd�r�|d}d}
n�|
dkr!|jd�s|jd�r!|d}d}
nz|
dkr^|jd�sK|jd�r^|d}d}
n=|
dkr|dkrd}
n|s�|r�|j|�n|j|�q^W||�||�t|�|_||�||�|
r|
jd�r|r|jd|�n||_	||_
||_||_|	|_
|
|_||_|d	k|_|p�d|j
ko�td�|j
D��|_dS( NcS@sSxL|rN|d}|jd�s@|jd�s@|jd�rJ|d=qPqWdS(Ni����sdiff -sIndex:s===========(R?(RCtl((s./usr/lib64/python2.7/site-packages/hgext/mq.pyteatdiffs	

cS@s,x%|r'|dj�s#|d=qPqWdS(Ni����(R'(RC((s./usr/lib64/python2.7/site-packages/hgext/mq.pyteatemptys	
itrbs
diff --gits+++ is--- ithgpatchs# User is# Date s	# Parent i	s	# Branch s
# Node ID i
s# s# HG changeset patchttagdones	Subject: s	subject: ttagsFrom: sfrom: isDate: sdate: R.cs@s-|]#}|jd�p$|jd�VqdS(sDate: sFrom: N(R?(t.0tc((s./usr/lib64/python2.7/site-packages/hgext/mq.pys	<genexpr>gs(tNonetopentrstripR?tlstriptappendR=t
diffstartlineRBtmessagetcommentstuserR9tparenttnodeidtbranchthaspatchtanyt	plainmode(R)tpfRnRXRYRfRgRhR9RitformatR:RkRjt	diffstartRJ((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR2s�			




	
	
	
		



								cC@swyt|jd|�WnPtk
ri|jrFt|jd|�qjdd|g}||j|_nX||_dS(Ns# User tFroms# HG changeset patch(RMRgt
ValueErrorRnRURh(R)Rhttmp((s./usr/lib64/python2.7/site-packages/hgext/mq.pytsetuserks
	cC@swyt|jd|�WnPtk
ri|jrFt|jd|�qjdd|g}||j|_nX||_dS(Ns# Date tDates# HG changeset patch(RMRgRsRnRUR9(R)R9Rt((s./usr/lib64/python2.7/site-packages/hgext/mq.pytsetdatevs
	cC@sdyt|jd|�Wn=tk
rV|jsWdd|g}||j|_qWnX||_dS(Ns
# Parent  s# HG changeset patch(RMRgRsRnRi(R)RiRt((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	setparent�s
	cC@sq|jr|j�n|g|_|rm|jrZ|jrZ|jdrZ|jjd�n|jj|�ndS(Ni����R.(Rgt_delmsgRfRnRd(R)Rf((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
setmessage�s	
cC@s*dj|j�j�}|s"dS|dS(Ns
R.s

(tjoinRgRb(R)R((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR4�scC@s�|jr}d|jdj�}xZtjt|j��D]=}||j|j�kr9|j|=|jd|_Pq9q9Wnd}x?|jD]4}x!||j|kr�|d7}q�W|j|=q�WdS(s�Remove existing message, keeping the rest of the comments fields.
        If comments contains 'subject: ', message will prepend
        the field and a blank line.s	subject: iiiN(RfRORtxrangeR=Rg(R)tsubjRItcitmi((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRy�s	
(
R,R-tFalseR2RuRwRxRzR4RR5R6Ry(((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRVsg							cO@s�|j�}|dkr<|jjdd�r<tj}q<nitd6}|dk	rb||d	<n|jj|d��+|jjddt�|j	||�SWdQXdS(
s�helper dedicated to ensure a commit respect mq.secret setting

    It should be used instead of repo.commit inside the mq source for operation
    creating new changeset.
    R R&tuitallowemptycommitRs
new-commitN(R�R�(Rs
new-commit(
t
unfilteredR`R�t
configboolRR&tTruetconfigoverridet	setconfigtcommit(trepotphasetargstkwargst	overrides((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	newcommit�s

tAbortNoCleanupcB@seZRS((R,R-(((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��stqueuec
B@s�eZd?d�Zejd��Zejd��Zejd��Zejd��Z	d�Z
d?d?ed�Zd�Z
d�Zd	�Zejd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zed�Zd�Zd�Zed�Zd?d?d?d?d?d�Zd�Zd?d�Zd�Z d�Z!ee"ed?d?d?d?ed�Z#ee"ed?d?d?d?ed�Z$ed�Z%d�Z&d�Z'd�Z(d �Z)d!�Z*ee"d"�Z+d@Z,d(�Z-ed)�Z.d*�Z/d+�Z0d,�Z1d-�Z2ed.�Z3d?eed?eeeeed/�	Z4d?ee"eeed0�Z5d1�Z6d?d2�Z7ed3�Z8d?d4�Z9d?d5d?d?ed6�Z:d7�Z;ed8�Z<d?d?d9�Z=d?d:�Z>d;�Z?ed<�Z@d=�ZAd?d?d?d?ed>�ZBRS(Ac
C@s�||_ytttjj|d�d��}|j�j�}WdQX|sctjj|d�}ntjj|d|�}Wn&tk
r�tjj|d�}nX|p�||_tj	|j�|_
||_||_t
|_t
|_g|_d|_d|_d|_d|_t
|_|jdd	�j�}tj|�}	|	dk	ro|	rfd
}qod}n||_|jdd�|_t|_dS(
Ns
patches.queueRZtpatchesspatches-tserieststatustguardsR R!tyestnoR%( tbasepathRatostpathR{treadRbtIOErrortvfsmodRtopenerR�tbaseuiR�tapplieddirtytseriesdirtytaddedt
seriespatht
statuspatht
guardspathR`tactiveguardstguardsdirtytconfigRORt	parsebooltgitmodeR�RnR�tcheckapplied(
R)R�R�R�tpatchdirtfhtcurtcurpathR�tboolmode((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR2�s<	!
													c@sq�fd�}y/�jj�j�j�}t||��SWn,tk
rl}|jtjkrfgS�nXdS(Nc3@s�x�|D]}|jdd�}t|�dkrT|\}}tt|�|�Vq|j�r�jjtd�tj	|��qqWdS(NR3ismalformated mq status line: %s
(
RPR=R/RR'R�twarnRRtpprint(RCRWtentrytnR1(R)(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
parselines�s
(R�R�R�t
splitlinestlistR�terrnotENOENT(R)R�RCte((R)s./usr/lib64/python2.7/site-packages/hgext/mq.pytapplied�s
cC@sPy|jj|j�j�SWn,tk
rK}|jtjkrEgS�nXdS(N(R�R�R�R�R�R�R�(R)R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
fullseries�scC@s|j�|jS(N(tparseseriesR�(R)((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�s
cC@s|j�|jS(N(R�tseriesguards(R)((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�s
cC@s^x3dj�D]%}||jkr
t||�q
q
Wt|_t|_t|_d|_dS(Ns&applied fullseries series seriesguards(	RPt__dict__tdelattrR�R�R�R�R`R�(R)ta((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
invalidate
s			c	C@s�tj|j|dtd|d|�}|jdkrDt|_nR|jdkrVn@|jd	krz|jdk|_ntjt	d�|j��|r�|j
||�}n|S(
s�Return diff options tweaked for this mq use, possibly upgrading to
        git format, and possibly plain and without lossy options.R!t
whitespacetformatchangingR#tkeepR�R�s,mq.git option can be auto/keep/yes/no got %s(R�R�(tpatchmodtdifffeatureoptsR�R�R�tupgradeR!RtAbortRt	patchopts(R)toptstpatchfnR%tdiffopts((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�s
cG@sr|j�}|jrn|jdkrnxF|D];}|j|d�}td�|D��|_|j�q,Wn|S(s�Return a copy of input diff options with git set to true if
        referenced patch is a git patch and should be preserved as such.
        R�trcs@s|]}|jd�VqdS(s
diff --gitN(R?(R^RJ((s./usr/lib64/python2.7/site-packages/hgext/mq.pys	<genexpr>1s(tcopyR!R�R�Rmtclose(R)R�R�R�tpatchf((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�(s
	cG@stjj|j|�S(N(R�R�R{(R)tp((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR{6sc@sC�fd�}x-t|j�D]\}}||�r|SqWdS(Nc@s&|jdd�d}|j��kS(Nt#ii(RPR'(RW(R(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
matchpatch:s(RAR�R`(R)RR�R;RW((Rs./usr/lib64/python2.7/site-packages/hgext/mq.pyt
findseries9s
s'\s?#([-+][^-+# \t\r\n\f][^# \t\r\n\f]*)cC@s�g|_g|_x�|jD]�}|jd�}|dkrL|}d}n&|dkr^qn|| }||}|j�}|r||jkr�tjtd�||j|j	�f��n|jj
|�|jj
|jj|��qqWdS(NR�i����R.is%s appears more than once in %s(
R�R�R�tfindR'RR�RR{R�Rdtguard_retfindall(R)RWRLRtcomment((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�Ds$			

cC@su|std�Sd}|d}|dkr@td�||fSx.|D]&}||krGtd�||fSqGWdS(Nsguard cannot be an empty strings# 	
is-+s*guard %r starts with invalid character: %rs!invalid character in guard %r: %r(R(R)tguardt	bad_charstfirstR_((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
checkguardYs

	
cC@s}x5|D]-}|j|�}|rtj|��qqWtt|��}|jjddj|��||_t	|_
dS(Nsactive guards: %s
t (R�RR�tsortedtsetR�R+R{R�R�R�(R)R�R�tbad((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	setactivees
	cC@s�|jdkr�g|_y|jj|j�j�}Wn1tk
rj}|jtjkra�ng}nXxrt	|�D]a\}}|j
|�}|r�|jjd|j
|j�|d|f�qx|jj|�qxWn|jS(Ns
%s:%d: %s
i(R�R`R�R�R�RPR�R�R�RAR�R�R�R{Rd(R)R�terrRIR�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytactiveos	
$cC@s�x�|D]�}t|�dkr;tjtd�|��n|ddkrgtjtd�|��n|j|d�}|rtj|��qqW|jjd|j|�}|djg|D]}d|^q��|j|<|j	�t
|_dS(	Nisguard %r too shortis-+s!guard %r starts with invalid chariR.s #(R=RR�RR�R�tsubR�R{R�R�R�(R)tidxR�tgR�tdrop((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	setguards�s
1
c	C@sOt|t�r$|jj|�}n|j|}|sAtdfS|j�}g|D]+}|jd�rT|d|krT|^qT}|r�t	t
j|d�fSg|D]}|jd�r�|^q�}g|D]}|d|kr�|^q�}|rE|rtt
j|d�fSt	djg|D]}t
j|�^q&�fStdfS(Nt-iit+R�R.(
t
isinstancetbytesR�R;R�R�R`R�R?R�RR�R{(	R)R�tpatchguardsR�R�texactnegtpostexactposR�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytpushable�s"


+()/cC@s?|r|jj}n|jj}|s3|jjr;t|t�rW|jj|�}n|j|�\}}|r�|r�|dkr�|t
d�|j|�q�|s�|t
d�|j|�q�|t
d�|j||f�n|s;|r|t
d�|j||f�q8|t
d�|j|�q;ndS(Ns"allowing %s - no guards in effect
s*allowing %s - no matching negative guards
sallowing %s - guarded by %s
sskipping %s - guarded by %s
s!skipping %s - no matching guards
(R�twriteR�tverboseR�R�R�R;R�R`R(R)R�tall_patchesR�R�twhy((s./usr/lib64/python2.7/site-packages/hgext/mq.pytexplainpushable�s,c@s��fd�}�jr@|tt�j��j�t�_n�jrh|�j�j�t�_n�j	r�|�j
�j�t�_	n�jr��j
���r��dj�fd��jD��ng�_ndS(Nc@sB�j|d�}x|D]}|jd|�qW|j�dS(Ntwbs%s
(R�R�R�(titemsR�tfpRI(R)(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	writelist�s
c3@s%|]}|�dkr|VqdS(N(R`(R^tf(tqrepo(s./usr/lib64/python2.7/site-packages/hgext/mq.pys	<genexpr>�s(R�tmapR�R�R�R�R�R�R�R�R�R�R�R�R`tadd(R)R�((R�R)s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	savedirty�s				'cC@ss|jd�}tjj|�s%dSytj|�Wn6tk
rn}|jjtd�t	j
|��nXdS(Ntundoserror removing undo: %s
(tsjoinR�R�texiststunlinktOSErrorR�R�RRtforcebytestr(R)R�Rtinst((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
removeundo�scC@s�x�t|�D]�}|j|�}tjj|�r
|jjtd�|tj	|j||�f�tj	|j||�}|r�t
j||�q�t
j||�q
q
WdS(Ns#saving current version of %s as %s
(
R�twjoinR�R�tlexistsR�tnoteRRtorigpathRtcopyfiletrename(R)R�tfilesR�R�tabsftabsorig((s./usr/lib64/python2.7/site-packages/hgext/mq.pytbackup�s c	
C@si|dkri}n|jd�}	tj||||�}
tj|j|||||
||	|�	dS(Ntstat(R`RQRtmatchRtdiffordiffstatR�(R)R�R�tnode1tnode2RR�tchangesR�Rtm((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	printdiff�s	c	C@s|j||gdtdtd|�\}}|dkrC||fS|dkrktjtd�|��n|jjtd�|�t	j
||�t|j||gdtdt�||}	t	j||�}
|
r�tjtd	�|
��nt
|d|	j�|	j�d
t�}|dkr@tjtd���nyt|j|�|j�}Wn*tk
r�tjtd�|��nX|j||�}|j|d
�}t|�}
|
r�|j|
�n|j||||d|�|j�|j|�d|fS(Nt
update_statuststricttmergeisapply failed for patch %ss"patch didn't work out, merging %s
tupdateRsupdate returned %dtforcesrepo commit failedsunable to read %stwR�(tapplyR�R�R`RR�RR�R�RtcleanR'RR�tdescriptionRhRVR{Rnt	ExceptionR�R�R�R�RR�R(R)R�tmergeqtheadRtrevR�R�R�tctxtrettphR�Rg((s./usr/lib64/python2.7/site-packages/hgext/mq.pytmergeone�s:
"
'


cC@s�|dkrL|jj�\}}|tkr1|S|js>dS|jdjS|jj|�\}}|tkr�|g|jD]}|j^q}kr�|S|S(sreturn the mq handled parent or p1

        In some case where mq get himself in being the parent of a merge the
        appropriate parent may be p2.
        (eg: an in progress merge started with mq disabled)

        If no parent are managed by mq, p1 is returned.
        i����N(R`tdirstatetparentsRR�R0t	changelog(R)R�R&tp1tp2tx((s./usr/lib64/python2.7/site-packages/hgext/mq.pytqparentss		1cC@s�|jsYd}t|dddt�}|j|�|jjt||��t|_n|j|�}x|D]}|j	|dt�}|s�|j
jtd�|�d
S|j
|�\}	}
|	s�|j|dt�qon|j|�}|s|j
jtd�|�dS|d}|j||||||�\}
}|rn|jjt||��t|_n|
ro|
|fSqoW|j�d	|fS(Ns.hg.patches.merge.markers[mq]: merge markerRRspatch %s does not exist
iR�spatch %s is not applied
i(iN(iN(R�R�R`R�RRdR/R�R1tlookupR�R�RR�R�t	isappliedR*R�(R)R�R$R�R�tpnameR�R%RR�treasontinfoR&R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
mergepatch1s:	


$
c
C@s�t�}yAtj|j||ddd|dd�}tt|�|fSWnrtk
r�}|jjt	j
|�d�|jjs�|jjt
d��n|jj�tt|�tfSXdS(sPApply patchfile  to the working directory.
        patchfile: name of patch fileR'iRteolmodes
s*patch failed, unable to continue (try -v)
N(R�R�RR�R`R�R�R#R
RRR�R�Rt	tracebackR�(R)R�t	patchfileRtfuzzR((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRXs	
cC@s�d}}}
z�|j�}|j�}|jd�}
yO|j|||||||d|d|	d|
�}|
j�|j�|SWnMtk
r�|
j�|j��n&z|
j�Wd|j	�X�nXWdt
|
||�|j|�XdS(Ntqpusht	all_filesttobackupR$(R`twlockRttransactiont_applyR�R�R�tabortR�treleaseR(R)R�R�R�RRR�RR=R>R$R?RttrR(((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR gs.




c"C@s||s|j}nd}d}xQ|D]I}
|j|
�\}}|s_|j|
dt�q%n|jjtd�|
�tjj	||
�}yt
|j	|
�|j�}Wn2tk
r�|jj
td�|
�d}PnX|j}|s�d|
}n)|r|jd|
�ndj	|�}|jr�|	r�tj|j||�}t|�|	@}|r�|
r�ttd	�d
td���n|j||dt�|	|}	n|j||�\}}}|dk	r�|j|�n|}n.|jj
td
�|
�dgd}}}|r�|r�g}g}xF|D]>}tjj|j|��rm|j|�q<|j|�q<W|jj��lx|D]}|jj|�q�Wx|D]}|jj|�q�W|jj�\}}|j||�WdQXn|rXd|krX|d}|d}t }t!j"|||||�}||j#�7}nt$j%||pjg�} |j&j'�}!t(|d||j)|j*d| dt�}|j&j'�|!kr�t+j,td���n|dkr�t+j,td���n|r|j-jt.||
��n|rB|jj
td��d}Pn|r%|r%|jj
td��d}Pq%q%W||fS(s�returns (error, hash)

        error = 1 for unable to read, 2 for patch failed, 3 for patch
        fuzz. tobackup is None or a set of files to backup before they
        are modified by a patch.
        iR�sapplying %s
sunable to read %s
isimported patch %s
s
imported patch %ss
sconflicting local changes foundthintsdid you forget to qrefresh?R�spatch %s is empty
Ns.hgsubstatet.RRs(qpush exactly duplicates child changesetsrepository commit faileds0patch failed, rejects left in working directory
is)fuzz found when applying patch, stopping
i(/R�R`R�R�R�R�R�RR�R{RVRnR�R�RfRdRlR�tchangedfilesR�R�RRRR	RR+tparentchangetremoveRR,t
setparentsR�RtsubmergetkeysRt
matchfilesR-ttipR�RhR9RR�R�R/("R)R�R�R�RRR�RR=R>R$R�R�t	patchnameR�R5RoR)RfttouchedtpatcherrRR;tremovedtmergedR�R.R/twctxtpctxt	overwritetmergedsubstateRtoldtip((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRA�s�


	
	






	!	c@s/|s�|j�}|r,|dj|�nxY|D]N}ytj|j|��Wq3tk
r�}|jtjkr��q�q3Xq3Wng}|r�|j	| }|j	|4t
|_ng}g}	xR|D]J}|j|�}
|
dkr|	j
d|f�q�|	j
|
|f�q�W|	jdt
�x:|	D]2\}}|dkrT|j|=q/|j
|�q/W|r|r�td�|D��}xu|D]6}td��|jj�t||�|f�q�Wqtd��tjdj�fd�|D����n|j�t
|_g|D]}
|
j^qS(Ni����treversecs@s!|]}|j|jfVqdS(N(R1R0(R^R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pys	<genexpr>ss*revision %s refers to unknown patches: %s
sunknown patches: %s
R.c3@s|]}�|VqdS(N((R^R�(R*(s./usr/lib64/python2.7/site-packages/hgext/mq.pys	<genexpr>s(R�R`tforgetR�RR{RR�R�R�R�R�R�RdtsortR�tdictRR�R�RRR�R�R�R0(R)R�tnumrevsR�R�R�Rt	qfinishedtunknowntsortedseriesR�RIR&R�((R*s./usr/lib64/python2.7/site-packages/hgext/mq.pyt_cleanup�sL





++
	cC@s||jdjj�}g}x�t|�D]�\}}||kratjtd�|��n||}|j|j}|j�|kr�td�}	tj|	|��n|j|j}
xHdD]@}|j�||
kr�td�}	|j	j
|	|
�Pq�q�W|j|
�q-W|S(Nisrevision %d is not manageds/cannot delete revision %d above applied patchess[mq]: %ssimported patch %ss-patch %s finalized without changeset message
(s[mq]: %ssimported patch %s(R�R0R&RARR�RR1R"R�R�Rd(R)R�trevstfirstrevR�RIR&R'tbaseR*Rtfmt((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt_revpatchess$

c	C@s�|j|j|t|��}|j|t|��}|r�|jjdd�r�||d}tj|j�}|j	�|kr�|j
�j	�|kr�|jd��}tj||||�WdQXq�ndS(NR R&itqfinish(
t_phasecacheRfR�RaR=R�R�RtnewcommitphaseR�R.R@tadvanceboundary(R)R�RbR�R^toldqbasettphaseRD((s./usr/lib64/python2.7/site-packages/hgext/mq.pytfinish7s*c
C@sy|r/|jd�r/tjtd���ng}x�|D]�}|j|dt�}|j|�}|r�tjtd�|��n||jkr�tjtd�|��n||kr<|j|�q<q<Wd}|jd�rY|j	s	tjtd���nt
j||jd��}|j�|j
||�}	||	7}t|	�}n|j|||jd��dS(	NR&s4qdelete requires at least one revision or patch nameRscannot delete applied patch %sspatch %s not in series fileisno patches appliedR�(RQRR�RR2R�R3R�RdR�RtrevrangeR[RfR=Ra(
R)R�R�R�trealpatchesRR6R]Rbt
revpatches((s./usr/lib64/python2.7/site-packages/hgext/mq.pytdeleteEs,
	

cC@sd|jr`|jdj}|jdj}|jj�|krVtjtd���n||fSdS(s'check that working directory is at qtipi����s&working directory revision is not qtipN(NN(	R�R0R1R+R.RR�RR`(R)R�ttopR((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
checktoppatchas	
cC@szx"|d D]}d|krdSqW|dkrE|djd�n1|dkre|djd�n|djd�dS(Nis.hgsubstatesa?iR�ii(Rd(R)t
substatestateRR((s./usr/lib64/python2.7/site-packages/hgext/mq.pytputsubstate2changeskscC@s9d}|r)d}td�td�nt|||�S(NR.s, qrefresh firsts#local changes found, qrefresh firsts,local changed subrepos found, qrefresh first(Rtchecklocalchanges(R)R�Rtrefresht	excsuffix((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRvws

R�R�R�RFs..cC@s�||jkr+tjtd�|��n||j�krUtjtd���nx9dD]1}|j|�r\tjtd�|��q\q\Wx?dD]7}||kr�tjtd
�tj|���q�q�WdS(
Ns*"%s" cannot be used as the name of a patchs.patch name cannot begin or end with whitespaces.hgs.mqs!patch name cannot begin with "%s"R�R3s
s
s(%r cannot be used in the name of a patch(s.hgs.mq(R�R3s
s
(t	_reservedRR�RR'R?Rtbytestr(R)R1tprefixR_((s./usr/lib64/python2.7/site-packages/hgext/mq.pytcheckreservedname�s


cC@s�|j|�|r�tjj|j|��r�tjj|j|��rftjtd�|��q�tjtd�|��ndS(Ns""%s" already exists as a directoryspatch "%s" already exists(	R|R�R�RR{tisdirRR�R(R)R1R((s./usr/lib64/python2.7/site-packages/hgext/mq.pytcheckpatchname�s
"
cC@s�tjdd|j��jd�}|d }|rey|j|�Wqktjk
ra|}qkXn|}|}d}x_tr�||jkr�y|j	|�PWq�tjk
r�q�Xn|d7}d||f}qzW|S(sdReturn a suitable filename for title, adding a suffix to make
        it unique in the existing lists[\s\W_]+RiKiis%s__%d(
treR�ROR'R|RR�R�R�R~(R)ttitletfallbacknametnamebaseR1RI((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
makepatchname�s($

	

cC@s(|r$|r$tjtd���ndS(Ns*cannot use both --force and --keep-changes(RR�R(R)R$R((s./usr/lib64/python2.7/site-packages/hgext/mq.pytcheckkeepchanges�sc!@sStj|�}|jd�}|jd�}|jdd�}|jd�}|jd�}	|	rutj|	�}	n|ji|jd�d6dt�}
|jd	t�r�|j|�nt|�}|r�|j	d
}n|jd�s|jd�s|r?d
�}
t
j|d$||d|
�}|j
d|�}n|j|dt�}t|�}x|d D]}|j|�qkWt
j||�}t|d$j��dkr�tjtd���n|j|�|j�}|j��`y|j|d�}Wn>tk
rD}tjtd�|tj|j�f��nXy�d|�tj d|�}|r��fd�}td�}tj d|d|d|�}|}n|p��}t!|d$|||	d|dtd|�}|d$krtjtd���ny�|g|j"||+|j#j$t%||��|j&�t|_'t|_(||}t)|j*|�|j+�}|r�|j,|�n|	r�|j-d|	�n|j.t/|j0�j1���|j2�j3�}|�j3�kr�d}n|j4|�|j5t6|��|r�|j7||�}|rC|j8||�nt9j:|d|d |d!|d"|
�}x|D]}|j5|�qqWn|j;�|j<�}|r�|d$j=|g�nWn|j>��nXWnbt?k
r;|j*|�} yt@jA| �Wn+tBk
r4|jCjDtd#�| �nX�nX|jE|�Wd$QXd$S(%sWoptions:
           msg: a string or a no-argument function returning a string
        R*teditteditformsmq.qnewRhR9R!R%t	checknames.hgsubstatetincludetexcludecS@s,|dkr(tjd||f��ndS(Ns.hgsubstates%s: %s(RR�(R�R*((s./usr/lib64/python2.7/site-packages/hgext/mq.pytbadfn�sR�RRiiscannot manage merge changesetsRscannot write patch "%s": %ss[mq]: %sc@s|j�r|S�SdS(N(Rb(tdesc(t
defaultmsg(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
finishdesc�ss+Leave message empty to use default message.R�textramsgteditorsrepo commit faileds%d %dR.RRRR�serror unlinking %s
N(FRtbyteskwargsRQRt	parsedateR�R�R~t
checksubstateR+RRR`R�RvR�textendRMR=R,RR�RRst
fullseriesendR?R�R�Rt
strtolocaltstrerrorRtgetcommiteditorR�R�R�RdR/R�R�R�RVR{RnRuRwRxRR.R0R"R'RzR�R�R1RuR�tdiffR�R�R�trollbackR#R�RRR�R�R(!R)R�R�tpatsR�R*R�R�RhR9R�tinclsubsRtR�RRtcommitfilesRRBR�R�R�R�R�t	commitmsgR�tnctxR)RitchunkstchunkR�t	patchpath((R�s./usr/lib64/python2.7/site-packages/hgext/mq.pytnew�s�%$	

 
		
		
	





cC@sFx?t|j�D].\}}|j|kr||j|jfSqWdS(sreturns (index, rev, patch)N(RAR�R1R0R`(R)RRIR�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR3"sc
@s)�fd�}|�jkr"|Stjj�j|��syt|�}Wnttfk
rfn;Xt�j�|ko�t�j�knr��j|S|s||�}|r�|S|j	d�}|dkr]||| �}|r]�jj
|�}yt||dpd�}Wnttfk
r7qZX||dkrZ�j||Sq]n|j	d�}	|	dkr	|||	 �}|r�jj
|�}yt||	dp�d�}Wnttfk
r�qX||t�j�kr�j||Sqq	qntjt
d�|��dS(Nc@s�|�jkr|Sg�jD]}||kr|^q}t|�dkr��jjtd�|�x"|D]}�jjd|�qnWdS|r�|dS�jr��jr�|dkr��j�jt�dS|dkr��jdSndS(Nispatch name "%s" is ambiguous:
s  %s
itqtiptqbase(	R�R=R�R�RR`R�t	seriesendR�(RR0tmatchesR(R)(s./usr/lib64/python2.7/site-packages/hgext/mq.pytpartialname0s (
R�iiR�spatch %s not in series(R�R�R�tisfileR{tintRst
OverflowErrorR=trfindR;RR�R(
R)RRR�tsnotrestminusRItofftplus((R)s./usr/lib64/python2.7/site-packages/hgext/mq.pyR2/sJ/c"C@s�|j|
|�|j�}|j���g}x'|j�j�D]}
|j|
�qBW|sktg}n|jj�|kr�|r�|j	j
td��n|js�|j	j
td��dS|r�|j|�}|j|�}|r(|dt|j�dkr(|j	j
td�|�dS|j|�\}}|r�|jj|�|j�kr�tjtd�|��q�q|r�td�|}ntd�}|j	j
td	�||f�dSn?|r|jd
}|j|�r|j	j
td��dSn|j�}|t|j�krF|j	j
td��dS|rm|
rm|j|d
|j�n|rG|
r�tjtd���n|r�tjtd���n|jr�tjtd���n|j|}t|j|�|j�j}|stjtd�|��n|||dksGtj||�qGn|rF|sktjtd���nxGt|j�D]6\}}|j j!|d�d|j|kr{Pq{q{WxDt|j|�D]/\}}|j j!|d�d|kr�Pq�q�W||}|j|}|j|=|jj"||�|j#�t$|_%nt$|_&|dkrk|j'|�n|s�|j|}|d}n|jj||�d}t(�}|	r�|s�|
r|j|dt$�}|
r|j|j)|j*|j+|j,�q|j|j)|j*�n|j||!}t(�}yL|rZ|j-||||�}n'|j.|||d|d|d|
�}Wn�t/k
r��n�|j	j
td��t0j1|j	||d|jj2�dt$�x6|D].}||jkr�|j3j4|dt$�q�q�W|j	j
td���nX|jsD|dS|jd
j5} |dr�|ddkr�td�}!|j	j6|!| �n|j	j6td�| �|dSWdQXdS(Ns"(working directory not at a head)
sno patches in series
iis qpush: %s is already at the top
s#cannot push to a previous patch: %ss
guarded by %ssno matching guardsscannot push '%s' - %s
i����s"all patches are currently applied
s#patch series already fully applied
Rws.cannot use --exact and --keep-changes togethers&cannot use --exact and --move togethers(cannot push --exact with applied patchess"%s does not have a parent recordedRFs please specify the patch to moveRR=R>R$s!cleaning up working directory...
t	no_backupt
ignoremissingsdone
s0errors during apply, please fix and qrefresh %s
snow at: %s
(7R�R�R?t	branchmapt
itervaluesR�RR+R.R�R�RR�R�R2R3R=R�R�R;R�RR�RvRVR{RnRiRRRAR�R�RPRBR�R�R�R�RsR�tmodifiedR�RRtdeletedR7R R�RtrevertR,twvfst
unlinkpathR1R�("R)R�RRR�R$talltmovetexacttnobackupR$R�theadsthsR6R�R5RFtrootttargett	fullstarttrpnRIR;t	fullpatchtendR>R�RR=R(R�RrR*((s./usr/lib64/python2.7/site-packages/hgext/mq.pytpushls�
	#	 
	
& 



	

	"	

	c
@s�|j||�|j��o|r~|j|�}|sJ|j|�}n|j|�}|s~tjtd�|��q~n|js�|jj	td��|S|r�d}	n*|r�|dd}	nt
|j�d}	|	t
|j�kr|jj	td�|�dS|s�|jj��g|jD]}
|
j
^q-}x��D]1}||krI|jj	td��t}qIqIWnLg|dj�D]}|j
�^q��t�fd�|j|	D��}t�}
|rQ|j|d|p�|�}|r |sN|
j|j|j�qNqQ|rQ|
j|j|j|j|j�qQnt|_t
|j�}|j|	j
}y|jj|�}Wn9tjk
r�t|�}tjtd	�|��nX||jd
j
gkr�tjtd���n||jd
j
j�s:tjtd�d
td���n|r�|j||�}||}|j|d�d \}}}}|r�tjtd���nt|||�|
@}
|r�|
r�tjtd���n|j ||
�|jj!���x4|D],}|j"j#|dt�|jj$|�q�WxK||D]?}||}|j%||j&�|j'��|jj(|�q:W|j)|t*�WdQXnx;t+|j|	|!�D]#}|jjtd�|j,�q�W|j|	|5t-|j||gdt.dt.�x;|dj/j0�D]&\}}|dj1|�j2|�qW|jrq|jj3td�|jd
j,�n|jj3td��WdQXdS(Nspatch %s is not appliedsno patches applied
iisqpop: %s is already at the top
sqpop: forcing dirstate update
c3@s|]}|j�kVqdS(N(R0(R^R�(R,(s./usr/lib64/python2.7/site-packages/hgext/mq.pys	<genexpr>&sRstrying to pop unknown node %si����s?popping would remove a revision not managed by this patch queues&popping would remove a public revisionREs see 'hg help phases' for detailsRFis!deletions found between repo revss#local changes found, qrefresh firstR�spopping %s
RRsnow at: %s
spatch queue now empty
(4R�R?R3R2RR�RR�R�R�R=R+R,R0R�R`RmR�RvRR�R�RRR�R�R-R�tLookupErrorRtmutableR1R�RRHR�R�R�twwritetdatatflagstnormalRJRtreversedR1R'R�tsubstateR�R�RQR�(R)R�RRRR�R�R$R6RFR0trrR�R>RR�R&R�R0tqpR'RR�R�tdR�tfctxtstate((R,s./usr/lib64/python2.7/site-packages/hgext/mq.pytpop�s�
		
)	%	
"

!
" 	'c
	C@s�|j|�\}}|s5|jjtd��dS|j||�}|jd�rfd|}}n
|d}}|j||�}	|j||	||d|d|�dS(Nsno patches applied
RYRR�(	RsR�R�RR1RQR`R�R(
R)R�R�R�RrRR�RRR�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�fs
c?@s�
tj|�}|js2|jjtd��dS|jdd�j�}|jd�}|jdd�}|jd�}|jd	�}|r�d
tj	|�}n|j
�}	z�	|j|�|jdj|jdj
}
}|jj|
�|
gkrtjtd���n||
j�sItjtd
�dtd���n|jj|
�}|j||
�}
t||
�}|r�|jd}nt|j|�|j��|ji|jd�d6|dt�}|r��j|�n|r�j|�n�jt|
��|j |ddt�}|j!|
|
�d \}}}|jj"|
�}|j#|dj"�}|}t$j%|d||�}|jd�r�t$j'|||||j(��}t$j%|dd|�}nt$j)|�}|j!d|�d \}}}}t*|�}t*|�}t*|�}x*|D]"}||kr?|j+|�q?q?WxD|D]<}||kr�|j,|�|j+|�ql|j+|�qlWg}xX||D]L}||kr�|j,|�|j-|�q�n
|j.|�|j+|�q�Wt/|�}t/|�}t/|�}|j!|
d|�d \} }!}"}#t*| |!|"|#�}$g|||fD]}|j0|$�^q~}%t*|�}&x|%D]}|&j1|�q�Wt$j'||&�}||
j2�}'d}(z t3j3|d�}(|j4s|j5rei})xg|D]_}*|jj6|*�}+|+dk	rn|+|jkrn|)j7|+g�j-|*�n|jj+|*�qWx�|D]�}*|j8|*�},|,j9||*�}+|+r|)j7|+dg�j:|)j|*g��|*|kr|)|+dj-|*�qn|*|)kr�|)|*=q�q�Wx�|)j;�D]0\}+}-x!|-D]}*|jj<|+|*�qAWq.WnTx|D]}*|jj+|*�qlWx0t/|jj=��D]},|jj<d|,�q�Wx|D]},|jj,|,�q�Wg}xRtj>t?|�ddd�D]1}.|||.�s|j-||.�||.=qqWx|D]},|jj@|,�q<Wx|D]},|jjA|,�q]Wx|D]},|jjB|,�q~W�jCp�|d}/||
jD�}0|jE|�|jjF�t|_GtH|j||
gdtIdtI�|(jJ�WdtK|(�Xyd|�tLjMd|�}1|r���fd�}2td �}3tLjMd!|2d"|3d|�}1|p�d#j�jN�}4n@|s��jNs��}4q�d#j�jN�}4n|}4�jO|�d}5}6zD|jP�}5|jQd$�}6tR||0|4|/�jSd|d%td&|1�}7g|%D]}t/|�^q1	}8|rb	|jT||8�ntUjV||
d'|8d|�}9tW��}:|:r�	|j|:�nx|9D]};|j|;�q�	W|jJ�|jX}<|<jY||6g|'D]}=|=|7f^q�	�|6jJ�|jj-tZ|7|��Wdt[jK|6|5�XWnW||d}>|jj\|>j�|>j]��|j^�|jj_td(���nXWd|	jK�|j`|�XdS()Nsno patches applied
iR*R.R�R�smq.qrefreshRhR9s%d %di����s(cannot qrefresh a revision with childrenscannot qrefresh public revisionREs see 'hg help phases' for detailss.hgsubstateR!R%Rt
atomictempiiRR�Ris
mq.refreshRRs[mq]: %sc@s!|j�r�j|�|S�S(N(RbRz(R�(R�R)(s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�)s
s+Leave message empty to use default message.R�R�s
R RR�RsNqrefresh interrupted while patch was popped! (revert --all, qpush to recover)
(aRR�R�R�R�RRQRbRR�R?RsR0R1R-R�RR�R�R,R1R�R+RVR{RnR�R�RuRwRxRR�R�R�tmanifestlogRRR`RMRtmatchallR�R�RIRdtdiscardR�tintersectionRt	bookmarksR
R!R�tcopiedt
setdefaulttfiletrenamedR�t	iteritemsR�tcopiesR|R=R�tnormallookupR�RhR�RJR�R�R'R�R�RCRR�RfRzRR@R�R9RuR�R�R�t
_bookmarkstapplychangesR/tlockmodtrebuildtmanifestR�R�R(?R)R�R�R�R*R�R�tnewusertnewdateR?RrR�tcparentstpatchparentR�RtR�R�tmmtaatddRtmantaaatmatch1RRR�R�R�R0RZtcmtcatcrtcdt
allmatchestrefreshchangesRtbmlisttdsguardR�tdsttsrcR�tdstsRIRhtoldphaseR�R�R�RfRRDR�R_R�RgR�tmarkstbmR'((R�R)s./usr/lib64/python2.7/site-packages/hgext/mq.pyRwssP	
!		$"





%+





&




	"
			



	,


cC@s�|r4tjj|j�r4tjtd���nytj|j�Wn2tk
r|}|jtj	kss|r}�q}nX|r�|j
dt�SdS(Ns$patch queue directory already existstcreate(R�R�R}RR�RtmkdirRR�tEEXISTR�R�(R)R�R�R((s./usr/lib64/python2.7/site-packages/hgext/mq.pytinitds
cC@s�|r1||jkr1tjtd�|��n|sF|j�}n|jj|�d}g}xhtj|t|j��D]K}|j	|�\}}|r�|j
||j|f�n|j|�q~W|S(Nspatch %s is not in series filei(R�RR�RR�R;RR|R=R�RdR�(R)R�RRFt	unappliedRIR�R5((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRos"ic@sI��fd�}tg�jD]}|j^q�}	|dkrYt�j�|}n|sP�jjr�td||d�}
nx�tj	|||�D]�}�j|}||	kr�d\}
}n.�j
|�dr�d\}
}nd\}
}d}�jjr!d|
||
f}n|r9||
kr9q�n||||�q�Wn�g}x�tj�j
�D]�\}}}|t�j
�d}xp|D]h}tj
j||�}|�jkr�|�j�j�jfkr�|jd
�r�|j|�q�q�WqiWx<t|�D].}�jjr+dp.d}|||d�qWdS(Nc@s.|r�jj|�n�rt�j|��j�}|jrS|jd}nd}�jj�r��jj�t|�t|�d}|dkr�t	j
||�}q�d}n�jj|dd|��jjd��jj|dd|�n�jj|dd|��jjd�dS(	NiR.itlabelsqseries.s: sqseries.message.s
(R�R�RVR{RnRft	formattedt	termwidthR=Rtellipsis(tpfxROR�R)R*twidth(R)R(s./usr/lib64/python2.7/site-packages/hgext/mq.pytdisplayname�s"	'	s%ditAR�itURtGtguardedR.s%*d %s RFsD tmissing(RR�(RR(R
R(R�R�R1R`R=R�R�R�RR|R�R�twalkR�R{R�R�R�R?RdR�(R)R�RRFtlengthR�RR
R�R�tidxwidthRIRtcharR�Rt	msng_listR�tdirsRR�R�tflR0((R)Rs./usr/lib64/python2.7/site-packages/hgext/mq.pytqseries~sB%
"
cC@s|jdkrtSdS(Ns.hg.patches.save.line(R1R�(R)RW((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
issaveline�scC@s�|jj�}|jjr�|jr�|jj|_|jdd|jjdd�d�|jdd|jjdd�d�n|s�tjj|j	d��r�t
j|d|jd|�SdS(NR�Rtmqpagertinteractives.hgR�R�(R�R�R�tpageractiveR�R�R�R�R}R{Rt
repository(R)R�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��s!cC@s�||j�j�}|j�}d}d}g}	g}
d}x�t|�D]�\}}|dkrr|d}qM|jd�r�|j�}
|
djd�}
g|
D]}t|�^q�}qM|dk	rM|j�}
|
jdd�\}}|r|
j	t
t|�|��q'|	j	|
�qMqMW|dkrQ|jjt
d��dS|jjt
d	�|d�|	|_|
|_|j�t|_t|_|jj�}|rF||kr�|jjt
d
��qF|jjt
d�t|��|jj�}||krt}nt}t|j||gd|d
t�n|r�|jjt
d�t|d�t|d�f�|r�|jjt
d��|j�}|s�|jjt
d��dStj||d�q�ndS(NisPatch Data:is	Dirstate:i
R�R3sno saved patch data found
srestoring status: %s
s*save entry has children, leaving it alone
sremoving save entry %s
RRs&saved queue repository parents: %s %s
supdating queue directory
s unable to load queue repository
(R"R'R�R`RAR?RbRPRRdR/R�R�RR�R�R�R�R�R�R-R�RR+R,R�R�R�RR!(R)R�R&RqtqupdateR�RCRIt	datastartR�R�tqppRJRWR0R�R1R�tppRR�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytrestore�sb
"		
		 	%"cC@sy|js#|jjtd��dS|j|jd�rS|jjtd��dS|shtd�}nd|jd�}|j�}|r�|jj�}|dt	|d	�t	|d�f7}n|d
7}|dj
d�|jD��7}|dj
d
�|jD��7}|j|dt
�}|sF|jjtd��dS|jjt|d��t
|_|j|�dS(Ns"save: no patches applied, exiting
ii����sstatus is already saved
shg patches saved stateshg patches: s
s
Dirstate: %s %sis

Patch Data:
R.cs@s|]}d|VqdS(s%s
N((R^R0((s./usr/lib64/python2.7/site-packages/hgext/mq.pys	<genexpr>scs@s|]}d|VqdS(s:%s
N((R^R0((s./usr/lib64/python2.7/site-packages/hgext/mq.pys	<genexpr>sRsrepo commit failed
s.hg.patches.save.line(R�R�R�RRRbR�R+R,RR{R�R�R�RdR/R�R(R)R�R*R�R R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytsaves.	+
  	cC@sM|jrI|jdj}|j|�}|dkrAt|j�S|dSdS(Ni����ii(R�R1R�R`R=R�(R)R�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�s	
c@std}��fd�}�jrj�jdj}y�jj|�}Wntk
r[dSX||d�S||�S(s�If all_patches is False, return the index of the next pushable patch
        in the series, or the series length. If all_patches is True, return the
        index of the first patch past the last applied one.
        ic@s~�s|t�j�kr|SxOtj|t�j��D]2}�j|�\}}|r`|S�j|�q;Wt�j�S(N(R=R�RR|R�R�(RFRIR�R5(R�R)(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	nextpatch+s"i����i(R�R1R�R;Rs(R)R�R�R#R�((R�R)s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�%s		
cC@sG|j|j}|jjs%|}nd|jj|�d|}|S(Ns%dR�(R�R1R�R�R�R;(R)R;R4R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytappliedname=s
	c@sE�fd�}|rX|r3tjtd���ntj||�}|jdt�n|svtjtd���nt|�dks�t|�dkr�|r�tjtd���ng}	|r{|jj	|jj
|j���}
t|
�dkrtjtd�|j���n�j
r�|jj
|j��}|g�j
D]}|j
^qJkr�tjtd�|j���n|
�j
d	j
gkr�tjtd
�|j���n|jj�j
dj
�}|jj|�d}
nI|
|jj
|j��gkr7tjtd�|j���nd}
�ji|d
6�}|jd��}x
|D]}||j�s�tjtd�|dtd���n|jj|�\}}|jj
|�}|tkr�tjtd�|��n|
r0|
|kr0tjtd�||
f��n|}
|so�j||j�jdd�dd|�}n||��j||��jjd|��j|d��#}tj||g|d|�WdQXt||�}�j
jd|��jj |�|	j |�d}|rR|j!j"dd�rRt#j$||t#j%|g�n�j&�t�_'t�_(qlWWdQXnx�t)|�D]�\}}|r�|dkr�tjtd���nt*|�}�j+|�t,j-|�j.�r,�j/|�}t0j1j2|�s,tjtd�|��q,n|r~�j||��j!j3td�||f�t,j4|�j/|��q�|}n|dkr�|r�tjtd���n*|s�t*t0j1j5|j6d���}n�j||�yP|dkr�j!j7j8�}n+t9j:�j!|�}|j8�}|j;�Wn0t<t=fk
rntjtd �|��nX�j|d�}|j3|�|j;�|s�||�n|�j>kr��j?�|}|g�j||+n�j&�t�_(�j!j@td!�|��jj |�|	j |�d}q�W�jA|�|	S("Nc@s/|�jkr+tjtd�|��ndS(Ns&patch %s is already in the series file(R�RR�R(RO(R)(s./usr/lib64/python2.7/site-packages/hgext/mq.pytcheckseriesGss*option "-r" not valid when importing filesRYsno files or revisions specifiedis5option "-n" not valid when importing multiple patchess/revision %d is the root of more than one branchsrevision %d is already managedi����s*revision %d is not the parent of the queueis"revision %d has unmanaged childrenR!tqimportsrevision %d is not mutableREs see 'hg help phases' for detailsscannot import merge revision %ds#revision %d is not the parent of %ds
s%d.diffRR�R R&R�s%-e is incompatible with import from -spatch %s does not existsrenaming %s to %s
s$need --name to import a patch from -t/sunable to read file %ssadding %s to series file
(BRR�RRRnR[R�R=R-R�R0R�tlastR�R&t
parentrevsR`R�R@R�RR�R"RPR~R�RBR�Rt
exportfileR/R�RdR�R�RtretractboundaryR&R�R�R�RAtnormnameR|RturltislocalR{R�R�R�R�R
tbasenameRbtfinR�RtopenpathR�RR�R�R�R�R(R)R�RROR&texistingRR!R%timportedR�RdR�t
lastparentR�RDR�R.R/R�tseRItfilenamet
originpathttextR�R;((R)s./usr/lib64/python2.7/site-packages/hgext/mq.pyR&Es�*$	%!


"

	
	$



	


N(R�R�R�RFs..(CR,R-R`R2Rt
propertycacheR�R�R�R�R�R�R�R�R{R�RtcompileR�R�R�R�R�R�R�R�R�RRRR*R1R7RR�R RARaRfRmRqRsRuRvRyR|R~R�R�R�R3R2R�R�R�RwRRRRR�R!R"R�R�R$R&(((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��s�%										
					
	'	'	h1				
							j	
=�f	
�;	
6				cC@sO|jdd�s1|jd�s1|jd�r5|St|�}t|d<|S(NR R$RR�tkeep_changes(R�RQR\R�(R�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytfixkeepchangesopts�s"
sqdelete|qremove|qrmtkR�skeep patch fileR�R&s%stop managing a revision (DEPRECATED)tREVshg qdelete [-k] [PATCH]...thelpcategorycO@s3|j}|j||tj|��|j�dS(s=remove patches from queue

    The patches must not be applied, and at least one patch is required. Exact
    patch identifiers must be given. With -k/--keep, the patch files are
    preserved in the patch directory.

    To stop managing a patch and move it into permanent history,
    use the :hg:`qfinish` command.i(R RqRR�R�(R�R�R�R�tq((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRq�s	
tqappliedt1R(s%show only the preceding applied patchshg qapplied [-1] [-s] [PATCH]cK@s*|j}tj|�}|rb||jkrItjtd�|��n|jj|�d}n|jt	�}|j
d�r�|r�|jtd��dS|j
d�r�|dkr�|jtd��dS|j
d�r�|d}d}nd}|j|d|d	|d
dd|j
d��d
S(s<print the patches already applied

    Returns 0 on success.spatch %s is not in series fileiR(sno patches applied
sonly one patch applied
iiRRFR�RRN(
R RR�R�RR�RR;R�R�RQR�R(R�R�RR�R@R�RF((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��s&
	
	t
qunappliedR�sshow only the first patchshg qunapplied [-1] [-s] [PATCH]cK@s�|j}tj|�}|rb||jkrItjtd�|��n|jj|�d}n|jt	�}|t
|j�kr�|jd�r�|jtd��dS|jd�r�d}nd
}|j|d|d|ddd	|jd	��d
S(s<print the patches not yet applied

    Returns 0 on success.spatch %s is not in series fileiR�sall patches applied
RFRR�RRN(R RR�R�RR�RR;R�R�R=RQR�R`R(R�R�RR�R@RFR((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR	s		$	R&R�R2simport file in patch directoryR�R1sname of patch filetNAMER�Rsoverwrite existing filess)place existing revisions under mq controlR�suse git extended diff formattPR�sqpush after importings>hg qimport [-e] [-n NAME] [-f] [-g] [-P] [-r REV]... [FILE]...cO@s�tj|�}|j��}|j}za|j||d|jd�d|jd�d|jd�d|jd�d|jd��}Wd|j�XWdQX|r�|jd�r�|jd�r�|j||d	�Sd
S(s�import a patch or existing changeset

    The patch is inserted into the series after the last applied
    patch. If no patches have been applied, qimport prepends the patch
    to the series.

    The patch will have the same name as its source file unless you
    give it a new one with -n/--name.

    You can register an existing patch inside the patch directory with
    the -e/--existing flag.

    With -f/--force, an existing patch of the same name will be
    overwritten.

    An existing changeset may be placed under mq control with -r/--rev
    (e.g. qimport --rev . -n patch will place the current revision
    under mq control). With -g/--git, patches imported with --rev will
    use the git diff format. See the diffs help topic for information
    on why this is important for preserving rename/copy information
    and permission changes. Use :hg:`qfinish` to remove changesets
    from mq control.

    To import a patch from standard input, pass - as the patch file.
    When importing from standard input, a patch name must be specified
    using the --name flag.

    To import an existing patch while renaming it::

      hg qimport -e existing-patch -n new-name

    Returns 0 if import succeeded.
    ROR1R2RR&R!NR�i����i(RR�RR R&RQR�R�(R�R�R6R�R@R3((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR&.	s-
	%%cC@s|j}|j||�}|j�|rtjj|jd��s�|jdd�}|jd�|jd�|jd�|jd�|jd�|j	�ntjj|jd��s�|jdd�j	�n|d
jddg�tj||�nd	S(s"initialize a new queue repository

    This command also creates a series file for ordering patches, and
    an mq-specific .hgignore file in the queue repository, to exclude
    the status and guards files (these contain mostly transient state).

    Returns 0 if initialization succeeded.s	.hgignoreRs^\.hg
s^\.mq
s
syntax: glob
sstatus
sguards
R�iN(
R RR�R�R�RRR�R�R�R`R�R	(R�R�R�R@R�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytqinitj	s"	






RFR_screate-reposcreate queue repositorys
hg qinit [-c]t	helpbasiccK@st||d|jd��S(s�init a new queue repository (DEPRECATED)

    The queue repository is unversioned by default. If
    -c/--create-repo is specified, qinit will create a separate nested
    repository for patches (qinit -c may also be run later to convert
    an unversioned patch repository into a versioned one). You can use
    qcommit to commit changes to this queue repository.

    This command is deprecated. Without -c, it's implied by other relevant
    commands. With -c, use :hg:`init --mq` instead.R�tcreate_repo(RFRQ(R�R�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�	stqclonetpulls"use pull protocol to copy metadataRtnoupdates)do not update the new working directoriestuncompresseds)use uncompressed transfer (fast over LAN)R�R�s#location of source patch repositorytREPOs#hg qclone [OPTION]... SOURCE [DEST]tnorepocK@s5tj|�}d�}|dkr6tj|�}ntj|||j|��}|jd�r~|j|jd��}n||�}ytj|||�Wn)tj	k
r�tj
td���nXd\}}|j�r�|j�}	|	j
jr�|	|j�tjkr�|	j
jdj}tj|�s�t|	j��}
t|
j|	j|���}|j|	jj|�d�q�q�n<|jd�r�y|jd�}Wq�tj	k
r�q�Xn|jtd��tj|||j�|d|jd�d	|d
t d|jd��\}}|jtd
��tj|||jd�pb||�||�d|jd�d
|jd�d|jd��|j�r1|j�}	|r�|jtd��t!||	|gd
t dd�n|jd�s1|jtd��tj"|	|	jj#��q1ndS(sTclone main and patch repository at same time

    If source is local, destination will have no patches applied. If
    source is remote, this command can not check if patches are
    applied in source, so cannot guarantee that patches are not
    applied in destination. If you clone remote repository, be sure
    before that it has no patches applied.

    Source patch repository is looked for in <src>/.hg/patches by
    default. Use -p <url> to change.

    The patch directory must be a nested Mercurial repository, as
    would be created by :hg:`init --mq`.

    Return 0 on success.
    cS@s0|j�}|jd�r(|d }n|dS(s+compute a patch repo url from a repo objectR'i����s/.hg/patches(R-tendswith(R�R-((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��	s
R�s4versioned patch repository not found (see init --mq)iR2R�scloning main repository
RJRbRtstreamRLscloning patch repository
RKs6stripping applied patches from destination repository
Rs updating destination repository
N(NN($RR�R`Rtdefaultdesttpeert
expandpathRQRt	RepoErrorR�RtlocalR R�R�RR&R0R.R�R�R�t
differenceRdR-R,tcapableR2R
tcloneR-R�R'RRN(R�tsourcetdestR�R�tsrtpatchespathR�tdestrevR�R�tdr((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRX�	sX	%&0"sqcommit|qcis	commit|cis hg qcommit [OPTION]... [FILE]...t	inferrepocO@sJ|j}|j�}|s-tjd��ntj|j|||�dS(sscommit changes in the queue repository (DEPRECATED)

    This command is deprecated; use :hg:`commit --mq` instead.sno queue repositoryN(R R�RR�R	R�R�(R�R�R�R�R@R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��	s
		RRRsprint patches not in seriesshg qseries [-ms]cK@s2|jj|d|jd�d|jd��dS(s7print the entire series file

    Returns 0 on success.RRi(R RRQ(R�R�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��	s	tqtopshg qtop [-s]cK@s�|j}|jr$|jt�}nd}|re|j|d|dddddd|jd��n|jtd��dSd	S(
s>print the name of the current patch

    Returns 0 on success.iRFiRR�RRsno patches applied
N(R R�R�R�RRQR�R(R�R�R�R@tt((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRr
s		"tqnexts
hg qnext [-s]c	K@sm|j}|j�}|t|j�krA|jtd��dS|j|d|ddd|jd��dS(sDprint the name of the next pushable patch

    Returns 0 on success.sall patches applied
iRFRRN(R R�R=R�R�RRRQ(R�R�R�R@R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytnext
s	tqprevs
hg qprev [-s]cK@s�|j}t|j�}|dkr;|jtd��dS|sX|jtd��dS|jj|jdj�}|j|d|ddddd	|j	d	��d
S(sHprint the name of the preceding applied patch

    Returns 0 on success.isonly one patch applied
sno patches applied
i����RFRR�RRN(
R R=R�R�RR�R;R1RRQ(R�R�R�R@RWR�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytprev+
s	cC@sl|jd�r2|jd�r2|j�|d<n|jd�rh|jd�rhdtj�|d<ndS(NRhtcurrentuserR9tcurrentdates%d %d(RQtusernameRtmakedate(R�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytsetupheaderopts=
stqnewR�s invoke editor on commit messagess'import uncommitted changes (DEPRECATED)Rfs#add "From: <current user>" to patchtuRhsadd "From: <USER>" to patchtUSERtDRgs#add "Date: <current date>" to patchR�sadd "Date: <DATE>" to patchtDATEs0hg qnew [-e] [-m TEXT] [-l FILE] PATCH [FILE]...cO@sntj|�}tj||�}|j}||d<t||�|j|||tj|��|j�dS(screate a new patch

    qnew creates a new patch on top of the currently-applied patch (if
    any). The patch will be initialized with any outstanding changes
    in the working directory. You may also use -I/--include,
    -X/--exclude, and/or a list of files after the patch name to add
    only changes to matching files to the new patch, leaving the rest
    as uncommitted modifications.

    -u/--user and -d/--date can be used to set the (given) user and
    date, respectively. -U/--currentuser and -D/--currentdate set user
    to current user and date to current date.

    -e/--edit, -m/--message or -l/--logfile set the patch header as
    well as the commit message. If none is specified, the header is
    empty and the commit message is '[mq]: PATCH'.

    Use the -g/--git option to keep the patch in the git extended diff
    format. Read the diffs help topic for more information on why this
    is important for preserving permission changes and copy/rename
    information.

    Returns 0 on successful creation of a new patch.
    R*i(	RR�Rt
logmessageR RjR�t	strkwargsR�(R�R�RR�R�R*R@((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�C
s'	


tqrefreshRs;refresh only files already in the patch and specified filess2add/update author field in patch with current users0add/update author field in patch with given users0add/update date field in patch with current dates.add/update date field in patch with given dates=hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]...cO@s�tj|�}|j}tj||�}t||�|j��7|j||d|tj|��}|j	�|SWdQXdS(s>update the current patch

    If any file patterns are provided, the refreshed patch will
    contain only the modifications that match those patterns; the
    remaining modifications will remain in the working directory.

    If -s/--short is specified, files currently included in the patch
    will be refreshed just like matched files and remain in the patch.

    If -e/--edit is specified, Mercurial will start your configured editor for
    you to enter a message. In case qrefresh fails, you will find a backup of
    your message in ``.hg/last-message.txt``.

    hg add/remove/copy/rename work as usual, though you might want to
    use git-style patches (-g/--git or [diff] git=1) to track copies
    and renames. See the diffs help topic for more information on the
    git diff format.

    Returns 0 on success.
    R*N(
RR�R RRpRjR?RwRqR�(R�R�R�R�R@RfR(((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRws
s&	

$
tqdiffshg qdiff [OPTION]... [FILE]...cO@s0|jd�|jj||tj|��dS(sdiff of the current patch and subsequent modifications

    Shows a diff which includes the current patch as well as any
    changes which have been made in the working directory since the
    last refresh (thus showing what the current patch would become
    after a qrefresh).

    Use :hg:`diff` if you only want to see the changes made since the
    last qrefresh, or :hg:`export qtip` if you want to see changes
    made by the current patch without including changes made since the
    qrefresh.

    Returns 0 on success.
    Rsi(tpagerR R�RR�(R�R�R�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��
s
tqfoldskeep folded patch filess/hg qfold [-e] [-k] [-m TEXT] [-l FILE] PATCH...cO@s�tj|�}|j}|s6tjtd���n|j|�dsatjtd���n|j|�tj	||�}|j
d�}g}g}x�|D]}	|j
|	�}
|
|ks�|
|kr�|jtd�|
�n|j|
�rtjtd�|
��n|j
|
�q�Wx�|D]�}
|srt|j|
�|j�}|jrr|j
|j�qrn|j|
�}|j||�\}
}}|
s,tjtd�|
��q,q,W|s;t|j|�|j�}|j}x:|D]2}|r�|r|j
d�n|j|�q�q�Wd	j|�}n|j|j�|�}|j��S|j|d
|d|jd|jd�d
d�|j|||�|j�WdQXdS(s,fold the named patches into the current patch

    Patches must not yet be applied. Each patch will be successively
    applied to the current patch in the order given. If all the
    patches apply successfully, the current patch will be refreshed
    with the new cumulative patch, and the folded patches will be
    deleted. With -k/--keep, the folded patch files will not be
    removed afterwards.

    The header for each folded patch will be concatenated with the
    current patch header, separated by a line of ``* * *``.

    Returns 0 on success.s&qfold requires at least one patch nameisno patches appliedR�s!skipping already folded patch %s
s*qfold cannot fold already applied patch %sserror folding patch %ss* * *s
R*R!R�R�smq.qfoldN(RR�R RR�RRsRvRRpR2R�R3RdRVR{RnRfRR�R�R�R?RwR!RQRqR�(R�R�RR�R@RfRiR�tmessagesR�R�R)RotpatchsuccessR;R*R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytfold�
sV	



	 	

*tqgotoskeep-changess&tolerate non-conflicting local changessoverwrite any local changess	no-backups"do not save backup copies of filesshg qgoto [OPTION]... PATCHc	K@s�tj|�}t||�}|j}|j|�}|jd�}|jd�}|j|�r�|j||d|jd�d|d|�}n-|j||d|jd�d|d|�}|j	�|S(sSpush or pop patches until named patch is at top of stack

    Returns 0 on success.R�R;RR�R$(
RR�R<R R2RQR3R�R�R�(R�R�RR�R@R�R$R(((s./usr/lib64/python2.7/site-packages/hgext/mq.pytgoto�
s	$$	
tqguardRWR�slist all patches and guardstnonesdrop all guardss8hg qguard [-l] [-n] [PATCH] [-- [+GUARD]... [-GUARD]...]c@s����fd�}|j�td��jD���d}t|�}|jd�r�|sm|jd�r�tjtd���nx*t	j
t�j��D]}||�q�WdS|s�|ddd!d	kr�js�tjtd
���n�jdj
}n|dkr=|ddd!d	kr=|jd�}n|dkratjtd���n|sv|jd�r��j|�}|dkr�tjtd
�|��n�j||��j�n|�jj�j|���dS(s�set or print guards for a patch

    Guards control whether a patch can be pushed. A patch with no
    guards is always pushed. A patch with a positive guard ("+foo") is
    pushed only if the :hg:`qselect` command has activated it. A patch with
    a negative guard ("-foo") is never pushed if the :hg:`qselect` command
    has activated it.

    With no arguments, print the currently active guards.
    With arguments, set guards for the named patch.

    .. note::

       Specifying negative guards now requires '--'.

    To set guards on another patch::

      hg qguard other.patch -- +2.6.17 -stable

    Returns 0 on success.
    c@s9�j|pdg}�j|�kr2d}n"�j|�drNd}nd}d||f}�jd�j�j||��x�t|�D]�\}}|jd�r��j|d	d
�n8|jd�r��j|d	d�n�j|d	d
�|t|�dkr��jd�q�q�W�jd�dS(Nt	unguardedR�iRRs!qguard.patch qguard.%s qseries.%ss%s: R�Rsqguard.positiveR�sqguard.negativesqguard.unguardediR�s
(R�R�R�R�RRAR?R=(R�R�R�RRIR�(R�R@R�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�4s"		$cs@s|]}|jVqdS(N(R1(R^R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pys	<genexpr>JsR�R|s.cannot mix -l/--list with options or argumentsNiis-+sno patches appliedi����sno patch to work withsno patch named %s(R R�R�R`R�RQRR�RRR|R=R�R1R�R�R�R�R;R2(R�R�R�R�R�RRIR�((R�R@R�s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�s4		#
tqheadershg qheader [PATCH]cC@s�|j}|r!|j|�}n/|jsA|jtd��dS|jd�}t|j|�|j�}|jdj|j�d�dS(sMprint the header of the topmost or specified patch

    Returns 0 on success.sno patches applied
iR�s
N(	R R2R�R�RRVR{RnRf(R�R�RR@R)((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRDes		c
C@s�tjj|�\}}tj|�}tjd|�}d}d}xb|D]Z}|j|�}|rMt|j	d��}	|dks�|	|kr�|	}|}q�qMqMW|r�tjj
||�|fSdS(Ns%s.([0-9]+)i(NN(R�R�RPtlistdirRR:R`RR�tgroupR{(
R�t	directoryRdtnamestnameretmaxindextmaxnameR�RR;((s./usr/lib64/python2.7/site-packages/hgext/mq.pytlastsavenamexs
cC@s=t|�\}}|dkr'd}n|d|d}|S(Nis.%di(R�R`(R�R(R;tnewpath((s./usr/lib64/python2.7/site-packages/hgext/mq.pytsavename�s
	R<sapply on top of local changesR�s-apply the target patch to its recorded parentslist patch name in commit textR�R�sapply all patchesRs%merge from another queue (DEPRECATED)smerge queue name (DEPRECATED)R�s-reorder patch series and apply only the patchs0hg qpush [-f] [-l] [-a] [--move] [PATCH | INDEX]c	K@sX|j}d}tj|�}t||�}|jd�r�|jd�ri|jj|jd��}nt|j	�\}}|s�|j
td��dSt||j
|j	|�}|j
td�|j	�n|j||d|jd�d|jd�d|d	|jd	�d
|jd
�d|jd�d|jd
�d|jd��}|S(s,push the next patch onto the stack

    By default, abort if the working directory contains uncommitted
    changes. With --keep-changes, abort only if the uncommitted files
    overlap with patched files. With -f/--force, backup and patch over
    uncommitted changes.

    Return 0 on success.
    RR1s%no saved queues found, please use -n
ismerging with queue at: %s
RR�R$R�R�R�R�R�R$R;N(R R`RR�R<RQRR{R�R�R�RR�R�R�(	R�R�RR�R@R$R�RIR(((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��s$	-$tqpopspop all patchessqueue name to pop (DEPRECATED)s)forget any local changes to patched filess!hg qpop [-a] [-f] [PATCH | INDEX]cK@s�tj|�}t||�}t}|jd�r�t||j|j|jj	|jd���}|j
td�|j�t}n	|j
}|j||d|jd�d|d|jd�d|jd�d|jd	��}|j�|S(
s�pop the current patch off the stack

    Without argument, pops off the top of the patch stack. If given a
    patch name, keeps popping off patches until the named patch is at
    the top of the stack.

    By default, abort if the working directory contains uncommitted
    changes. With --keep-changes, abort only if the uncommitted files
    overlap with patched files. With -f/--force, backup and discard
    changes made to such files.

    Return 0 on success.
    R1susing patch queue: %s
RRR�R�R�R$R;(RR�R<R�RQR�R�R�RR{R�RR�R R�R�(R�R�RR�tlocalupdateR@R(((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��s0		$
sqrename|qmvshg qrename PATCH1 [PATCH2]cK@s�|j}|s|}d}n|r6|j|�}n/|jsV|jtd��dS|jd�}|j|�}tjj	|�r�t
tjj|tjj|���}|j|�}n|j|�|j
td�||f�|j|�}|jj|j|�}|djg|D]}	d|	^q!�|j|<|j�t|_|j|�}
|
r�t|
d|�|j|
d<nt|_tjj|�}tjj	|�s�tj|�ntj|j|�|�|j�}|rx||jkrx|d}
|j��[|j|d	krO|jj|�|jj |�n |
j!||�|
j"|g�WdQXn|j#�dS(
s�rename a patch

    With one argument, renames the current patch to PATCH1.
    With two arguments, renames PATCH1 to PATCH2.

    Returns 0 on success.sno patches applied
NR�srenaming %s to %s
R.s #iiR�($R R`R2R�R�RR{R�R�R}R,R/R~R
R�R�R�R�R�R�R�R3R/R�tdirnametmakedirsRR
R�R+R?R�R�R�RZR�(R�R�RR1R�R@tabsdestRIR�R�R6tdestdirR�RT((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR
�sN				'
1
	!	

tqrestoreRqsdelete save entryRsupdate queue working directoryshg qrestore [-d] [-u] REVcK@sT|j|�}|j}|j||d|jd�d|jd��|j�dS(ssrestore the queue state saved by a revision (DEPRECATED)

    This command is deprecated, use :hg:`rebase` instead.RqRRi(R2R R!RQR�(R�R�R&R�R@((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR! s		
tqsaveR�scopy patch directoryscopy directory nametemptysclear queue status files
force copys5hg qsave [-m TEXT] [-l FILE] [-c] [-n NAME] [-e] [-f]cK@sx|j}tj|�}tj||�}|j|d|�}|rI|S|j�|jd�rH|j}|jd�rt	jj
|j|jd��}t	jj|�rt	jj
|�s�tjtd�|��n|jd�s	tjtd�|��q	qnt|�}|jtd�||f�tj||�n|jd�rt|j2t|_|j�nd	S(
s`save current queue state (DEPRECATED)

    This command is deprecated, use :hg:`rebase` instead.R*R�R1s,destination %s exists and is not a directoryRs&destination %s exists, use -f to forcescopy %s to %s
R�i(R RR�RRpR"R�RQR�R�R{R�RR}RR�RR�R�Rt	copyfilesR�R�R�(R�R�R�R@RfR(R�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR"0s4	
	!
	
tqselectsdisable all guardsR�slist all guards in series fileR�s)pop to before first guarded applied patchtreapplyspop, then reapply patchess!hg qselect [OPTION]... [GUARD]...c@sC|j�tj|�}�j�}�fd�}|sH|jd�r��j|�}gtjt�j��D]}||�sp|^qp}�j	|��j
�|s�|jtd��n|jd�r|jd�r�j|�}	gtjt�j��D]}||�s	|^q	}
t|	�t|�krk|jtd�t|�t|	�f�nt|
�t|�kr�|jtd�t|�t|
�f�q�qnh|jd�r�i}d	}xU�j
D]J}|s�|d
7}nx.|D]&}
|j|
d	�||
cd
7<q�Wq�W|jr>||d<nt|j��}|jdd
��|r�|jtd��xK|D]-\}}|jd|�|j|d�q�Wq|jtd��nP|r
|jtd��x4|D]}
|j|
d�q�Wn|jtd��|jd�oB�joB�jdj}t}|jd�si|jd�r�x�tjt�j��D]o}||�s�|jtd��t}|d	kr��j|dt�n�j|�j|d
j�Pq�q�Wn|r?z0|r-|jtd���j||�nWd�j
�XndS(suset or print guarded patches to push

    Use the :hg:`qguard` command to set or print guards on patch, then use
    qselect to tell mq which guards to use. A patch will be pushed if
    it has no guards or any positive guards match the currently
    selected guard, but will not be pushed if any negative guards
    match the current guard. For example::

        qguard foo.patch -- -stable    (negative guard)
        qguard bar.patch    +stable    (positive guard)
        qselect stable

    This activates the "stable" guard. mq will skip foo.patch (because
    it has a negative match) but push bar.patch (because it has a
    positive match).

    With no arguments, prints the currently active guards.
    With one argument, sets the active guard.

    Use -n/--none to deactivate guards (no other arguments needed).
    When no guards are active, patches with positive guards are
    skipped and patches with negative guards are pushed.

    qselect can change the guards on applied patches. It does not pop
    guarded patches by default. Use --pop to pop back to the last
    applied patch that is not guarded. Use --reapply (which implies
    --pop) to push back to the current patch afterwards, but skip
    guarded patches.

    Use -s/--series to print a list of all guards in the series file
    (no other arguments needed). Use -v for more information.

    Returns 0 on success.c@s�j�j|j�dS(Ni(R�R�R1(RI(R@(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt<lambda>�R.R|sguards deactivated
R�R�sAnumber of unguarded, unapplied patches has changed from %d to %d
s=number of guarded, applied patches has changed from %d to %d
R�iitNONEtkeycS@s|ddS(Nii((R0((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��R.sguards in series file:
s%2d  s
sno guards in series file
sactive guards:
sno active guards
i����spopping guarded patches
R�sreapplying unguarded patches
N(R RR�R�RQRR|R=R�R�R�R�RR�R�R�R�R�R[R
R�R1R�R�R�R�(R�R�R�R�R�R�t
old_unappliedRItold_guardedRRtnoguardstgsR�R�tcountR�tpopped((R@s./usr/lib64/python2.7/site-packages/hgext/mq.pytselectYs~*	

 #

	

(RgR�sfinish all applied changesetsshg qfinish [-a] [REV]...cO@s�|jd�r/|r/tjtd���n|jd�rKd	|}n|j}|jst|jtd��dStj||�}|dj	�|kr�|dj�r�|jtd��n|j
��|j||�|j�WdQXdS(
shmove applied patches into repository history

    Finishes the specified revisions (corresponding to applied
    patches) by moving them out of mq control into regular repository
    history.

    Accepts a revision range or the -a/--applied option. If --applied
    is specified, all applied mq revisions are removed from mq
    control. Otherwise, the given revisions must be at the base of the
    stack of applied patches.

    This can be especially useful if your changes have been applied to
    an upstream repository, or if you are about to push your changes
    to upstream.

    Returns 0 on success.
    R�sno revisions specifiedsqbase::qtipsno patches applied
iRFs6warning: uncommitted changes in the working directory
N(sqbase::qtip(RQRR�RR R�R�RRnR&R`RR�RRmR�(R�R�RnR�R@Rb((s./usr/lib64/python2.7/site-packages/hgext/mq.pyRm�s
		&
tqqueueslist all available queuesR�sprint name of active queueR�screate new queueR
srename active queuesdelete reference to queuetpurges"delete queue, and remove patch dirs[OPTION] [QUEUE]c@s%�j�d�d�d��fd����fd�}����fd�}��fd�}��fd����fd	�}�fd
�}d�}	����fd�}
tj|�}|s�|jd
�s�|jd�r���}|jd�r|jd|f�dSx^|�D]S}|jd|f�||krn|jrn|jtd��q(|jd�q(WdS|	|�s�tjtd���n�j	��l|��|jd�r!|�kr�tjtd�|��n|�r
|��n||�||�n�|jd�rx��}||kratjtd�|��n|�kr�tjtd�|��n||�}
||�}t
jj|�r�tjtd�|��n�j
dd�}xj�D]b}||kr6|jd|f�t
jj|
�rJtj|
|�qJq�|jd|f�q�W|j��j
jd���|�n�|jd�r�|
|�n�|jd�r�|�kr�|
|�n||�}t
jj|�rtj|�qn.|�krtjtd���n||�WdQXdS(s6manage multiple patch queues

    Supports switching between different patch queues, as well as creating
    new patch queues and deleting existing ones.

    Omitting a queue name or specifying -l/--list will show you the registered
    queues - by default the "normal" patches queue is registered. The currently
    active queue will be marked with "(active)". Specifying --active will print
    only the name of the active queue.

    To create a new queue, use -c/--create. The queue is automatically made
    active, except in the case where there are applied patches from the
    currently active queue in the repository. Then the queue will only be
    created and switching will fail.

    To delete an existing queue, use --delete. You cannot delete the currently
    active queue.

    Returns 0 on success.
    R�spatches.queuess
patches.queuec@s5tjj�j�}|jd�r1|d}n|S(Nspatches-i(R�R�R/R?(R�(R@(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt_getcurrent
s
c@s9y �j�d�}|j�Wntk
r4tSXtS(NR�(RR�R�R�R�(R�(t
_allqueuesR�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	_noqueues
s
c@s���}yg�j�d�}g|D]}|j�r%|j�^q%}|j�||kro|j|�nWntk
r��g}nXt|�S(NR�(RR'R�RdR�R�(tcurrentR�R�tqueues(R�t
_defaultqueueR�R�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
_getqueues(
s	+


c@s/�jr!tjtd���n�|�dS(Ns@new queue created, but cannot make active as patches are applied(R�RR�R(R1(t_setactivenocheckR@(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
_setactive6
s	c@s<�j�d�}|dkr.|j|�n|j�dS(NRR�(RR�R�(R1R�(t_activequeueR�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyR�<
sc@s4�j�d�}|jd|f�|j�dS(NR�s%s
(RR�R�(R1R�(R�R�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	_addqueueB
sc@s4|dkr�jjd�S�jjd|�SdS(NR�spatches-(RR{(R1(R�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	_queuedirG
scS@s%x|D]}|dkrtSqWtS(Ns:\/.(R�R�(R1R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt
_validnameM
s
c@s�|�kr$tjtd���n��}||krQtjtd���n�jdd�}x4�D],}||kr�qjn|jd|f�qjW|j��jjd��dS(Ns'cannot delete queue that does not exists$cannot delete currently active queuespatches.queues.newRs%s
(RR�RRR�R�R
(R1R�R�R�(R�R�R2R�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyt_deleteS
s	

R�R�s%s
Ns%ss
 (active)
s
s9invalid queue name, may not contain the characters ":\/."R�squeue "%s" already existsR
s%can't rename "%s" to its current names'non-queue directory "%s" already existsspatches.queues.newRRqR�s"use --create to create a new queue(R RR�RQR�tquietRRR�R?R�R�RRRR
R�tshutiltrmtree(R�R�R1R�R�R�R�R�R�R�R�R�R�tolddirtnewdirR�tqdir((R�R�R�R�R�R2R@R�s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��s�			%	
		


	






cC@sk|jjrg|jjdd�r-tj}n	tj}||jjdj}||j|j��n|S(sEcallback used to set mq changeset as secret when no phase data existsR R&i(	R R�R�R�RR&tdraftR0R�(R�trootstmqphaseR�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytmqphasedefaults�
s	c@sKd|jf�fd��Y�|j�rG�|_|jjt�ndS(Ntmqrepoc	@sweZejd��Z�fd�Zed�Zddddeed�fd�Z	�fd�Z
�fd�ZRS(cS@st|j|j|j�S(N(R�R�R�R�(R)((s./usr/lib64/python2.7/site-packages/hgext/mq.pyR �
sc@s?t�|�j�tj|d�r;t|j�d�ndS(NR (tsupert
invalidateallRthasunfilteredcacheR�R�(R)(R�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��
scS@s�|jjr�|jjr�|r�|jj�}g|jjD]}|j^q;}|d|ksp|d|kr�tj|��q�ndS(Nii(R R�R�R+R,R0RR�(R)terrmsgRR,RR�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytabortifwdirpatched�
s
" R.c@sS|dkri}n|jtd�|�t�|�j|||||||�S(Ns&cannot commit over an applied mq patch(R`R�RR�R�(R)R8RhR9RRR�textra(R�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��
s		c@s�|jjr�|jjr�|jr�g|jjD]}|j^q/}|jr�t|j�}x1t|�D] }||krPqi|j�qiWnxB|D]7}||j	�t
jkr�tj
td���q�q�Wnt�|�j|�dS(Nssource has mq patches applied(R R�R�RR0RbR�R�R�R�RR&RR�RR�t	checkpush(R)tpushopR�t
outappliedR�R0(R�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��
s""	
c@s�t�|�j�}|j}|js+|Sg|jD]}|j|jf^q5}y"|j�jj|dd�Wn=t	j
k
r�|jjt
d�t|dd��|SX|jj}g|D]}||d�r�|^q�}|s�|S|j|dddf�|j|dddf�|j|jj|dd�ddf�|d}xQ|D]I}|d|kr�|jjt
d�|d�qf|d||d<qfW|S(	s,augment tags from base class with patch tagsi����is)mq status file refers to unknown node %s
R�R�tqparentis+tag %s overrides mq patch of the same name
(R�t	_findtagsR R�R0R1R�R-R&RR�R�R�RRthasnodeRdR,(R)tresultR@Rtmqtagstincludedtmqtttags(R�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��
s2		(")+

N(R,R-RtunfilteredpropertycacheR R�R�R�R`R�R�R�((R�(s./usr/lib64/python2.7/site-packages/hgext/mq.pyR��
s
(t	__class__RUt_phasedefaultsRdR�(R�R�((R�s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	reposetup�
sV	cO@sZtj|d�rG|jdt�rG|jtd�|jd��n|||||�S(NR�t	no_commits#cannot import over an applied patchR(RtsafehasattrRQR�R�R(torigR�R�R�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytmqimports
cO@s�|jdd�}|s(||||�S|rb|d}tj|�s�tjtd���q�n3tjt	j
��}|s�tjtd���ntj||�}t||t
�S(NR is0only a local queue repository may be initializeds5there is no Mercurial repository here (.hg not found)(R�R`RR.RR�RRtfindrepoRtgetcwdRRFR�(R�R�R�R�R trepopathR�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytmqinits
cO@st|jdd�}|s+|||||�S|j}|j�}|s^tjtd���n||j|||�S(s>Add --mq option to operate on patch repository instead of mainR sno queue repositoryN(R�R`R R�RR�RR�(R�R�R�R�R�R R@R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt	mqcommand(s	cC@s�|j}g}t|j�t|j|��}}|r`|j|jtd�d�|�n|r�|j|jtd�d�|�n|r�|jtd�dj|��n|j	td��dS(Ns
%d appliedsqseries.applieds%d unappliedsqseries.unappliedsmq:     %s
s, smq:     (empty queue)
(
R R=R�RRdRRR�R{R
(R�R�R@RR�Rl((s./usr/lib64/python2.7/site-packages/hgext/mq.pytsummaryhook7s	%&&#smq()cC@sztj|ddtd��tg|jjD]}||jj�^q,�}tj	g|D]}||kr[|^q[�S(sChangesets managed by MQ.
    ismq takes no arguments(
RtgetargsRR�R R�R0R&Rtbaseset(R�tsubsetR0R�R�((s./usr/lib64/python2.7/site-packages/hgext/mq.pytrevsetmqHs2c@s�dddtd�fg�tjtjdt�tjj	dt
�tjtjdt�}|dj���fd�}|tj�xBtj�D]4\}}|j
t
kr�|t|di��q�q�WdS(	NR.R soperate on patch repositorytimportRic@ssxl|j�D]^\}}tj|�d}|d}|jrEq
ntj||t�}|dj��q
WdS(Nii(R�RtparsealiasesRNR
twrapcommandR�R�(tcmdtabletcmdR�tfunc(tmqopt(s./usr/lib64/python2.7/site-packages/hgext/mq.pytdotable^s
	R�(R`RR
R�R	ttableR�RtsummaryhooksR�R�R�R�t__file__tgetattr(R�R�R�textnamet	extmodule((R�s./usr/lib64/python2.7/site-packages/hgext/mq.pytextsetupSs	
tredsqguard.negativetyellowsqguard.positivetgreensqguard.unguardedsblue bold underlinesqseries.applieds
black boldsqseries.guardedsred boldsqseries.missingsqseries.unapplied(�t__doc__t
__future__RRR�R�RR�tmercurial.i18nRtmercurial.nodeRRRRRt	mercurialRR	R
RRR
RRRR�RRR�RRRRRRRRRR�tmercurial.utilsRRRCR`t
seriesoptsR�tcommandt
testedwithtconfigtablet
configitemR�R�tstripexttKeyErrortobjectR(tloadR'R�RvtnormpathR,R/R<RNRMRURVR�R�R�R�R<tCATEGORY_CHANGE_ORGANIZATIONRqR�RtCATEGORY_IMPORT_EXPORTR&RFtCATEGORY_REPO_CREATIONR�Rt
remoteoptsRXR�tCATEGORY_COMMITTINGR�R�RrRcReRjtwalkoptst
commitoptsR�RwR�t	diffopts2tCATEGORY_FILE_CONTENTSR�tCATEGORY_CHANGE_MANAGEMENTRxRzR�RDR�R�R�R�R
R!R"R�RmR�R�R�R�R�R�R�trevsetpredicateR�t
i18nfunctionsR�t
colortable(((s./usr/lib64/python2.7/site-packages/hgext/mq.pyt<module>?s�(�	
				
	
	*	%�	�������						2						M			
�#
�@	H												6	"k(	�		\