\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c@@saddlmZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlmZddlmZddlmZmZmZmZmZmZmZmZmZmZmZddlmZm Z m!Z!ej"Z"dj#d e$ej%e&d DZ'd Z(id d 6dd6dd6dd6Z)dZ*dZ+de,fdYZ-dZ.e,Z/gZ0de,fdYZ1de2fdYZ3iZ4dZ5e5ddd Z6e5d!d!d"Z7d#e,fd$YZ8e9a:d%Z;d&Z<dS('i(tabsolute_importNi(t_(thex( tcolortconfigt configitemstencodingterrort formattertprogresstpycompattrcutiltscmutiltutil(tdateutiltprocutilt stringutiltcc@s!|]}|js|VqdS(N(tisalnum(t.0tc((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pys 0sisP [ui] # The rollback command is dangerous. As a rule, don't use it. rollback = False # Make `hg status` report copy information statuscopies = yes # Prefer curses UIs when available. Revert to plain-text with `text`. interface = curses [commands] # Grep working directory by default. grep.all-files = True # Make `hg status` emit cwd-relative paths by default. status.relative = yes # Refuse to perform an `hg update` that would cause a file content merge update.check = noconflict # Show conflicts information in `hg status` status.verbose = True [diff] git = 1 showfunc = 1 word-diff = 1 s# example user config (see 'hg help config' for more info) [ui] # name and email, e.g. # username = Jane Doe username = # We recommend enabling tweakdefaults to get slight improvements to # the UI over time. Make sure to set HGPLAIN in the environment when # writing scripts! # tweakdefaults = True # uncomment to disable color in command output # (see 'hg help color' for details) # color = never # uncomment to disable command output pagination # (see 'hg help pager' for details) # paginate = never [extensions] # uncomment these lines to enable some popular extensions # (see 'hg help extensions' for more info) # # churn = tusers# example repository config (see 'hg help config' for more info) [paths] default = %s # path aliases to other clones of this repo in URLs or filesystem paths # (see 'hg help config.paths' for more info) # # default:pushurl = ssh://jdoe@example.net/hg/jdoes-fork # my-fork = ssh://jdoe@example.net/hg/jdoes-fork # my-clone = /home/jdoe/jdoes-clone [ui] # name and email (local to this repository, optional), e.g. # username = Jane Doe tcloneds# example repository config (see 'hg help config' for more info) [paths] # path aliases to other clones of this repo in URLs or filesystem paths # (see 'hg help config.paths' for more info) # # default = http://example.com/hg/example-repo # default:pushurl = ssh://jdoe@example.net/hg/jdoes-fork # my-fork = ssh://jdoe@example.net/hg/jdoes-fork # my-clone = /home/jdoe/jdoes-clone [ui] # name and email (local to this repository, optional), e.g. # username = Jane Doe tlocals# example system-wide hg config (see 'hg help config' for more info) [ui] # uncomment to disable color in command output # (see 'hg help color' for details) # color = never # uncomment to disable command output pagination # (see 'hg help pager' for details) # paginate = never [extensions] # uncomment these lines to enable some popular extensions # (see 'hg help extensions' for more info) # # blackbox = # churn = tglobalcC@stjtj|S(N(R trapplytstrurl(t maybebytes((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt _maybestrurlscC@stjtj|S(N(R Rtbytesurl(tmaybestr((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt_maybebytesurlsthttppasswordmgrdbproxycB@s2eZdZdZdZdZdZRS(s)Delays loading urllib2 until it's needed.cC@s d|_dS(N(tNonet_mgr(tself((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt__init__scC@s(|jdkr!tj|_n|jS(N(R"R!turlreqthttppasswordmgrwithdefaultrealm(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt_get_mgrscC@s4|jjt|t|t|t|S(N(R't add_passwordR(R#trealmturisRtpasswd((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR(s cC@s.|j}t|jt|t|S(N(R'Rtfind_user_passwordR(R#R)turitmgr((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR,s (t__name__t __module__t__doc__R$R'R(R,(((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR s    cG@s tjdS(N(RtSignalInterrupt(targs((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt _catchtermstuicB@seZdUdZedZdZdZdZe j dZ e j dZ dZ dZdUedUdUd ZdUdUd Zd Zd Zd dZdZedZeedZeedZeedZeedZeedZedUedZeedZeedZeedZ eedZ!edZ"edZ#eedZ$edZ%dUdZ&ed Z'd!Z(dUd"Z)e*j+d#Z,eeed$Z-d%Z.d&Z/d'Z0d(Z1d)Z2d*Z3d+Z4d,Z5d-Z6d.Z7d/Z8d0Z9dUd1Z:e;d2Z<d3Z=d4Z>d5Z?d6Z@d7ZAd8ZBd9d:ZCeDd;ZEd<d=ZFdUdUd>ZGd?ZHd@ZIdAZJdBZKdCZLdUdUdUdUdUdDZMdUdUdUdUdUdEZNdFZOdUedGZPdHZQe*j+dIZRdJZSd d dUdKZTd dUdLZUdMZVdNZWdOdUdPZXdQdRZYdSZZe j d dTZ[RS(VcC@sg|_g|_d|_t|_|_|_|_t |_ t j |_ tj|_tj|_tj|_t|_t|_t |_t|_t|_d|_i|_i|_t|_|r|j|_|j|_|j|_|j|_|j |_ |j!|_!|j"|_"|jj#|_|jj#|_|jj#|_|jj#|_|jj#|_|j$|_$|j|_|j|_|j|_|jj#|_|jj#|_|j%|j&|_&|j'|_'nrt(j)|_t(j*|_t(j+|_t|_t|_ t|_!t|_"t,j$|_$t-|_&t.j/t0|_'|j1dd}d|kr|j$|_2n@i|_2x4|D],}||j$kr|j$||j2|( t configboolRXtplainRARtparsettweakrcRkt hasconfigt setconfig(R#ttmpcfgRlRwRx((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRq.s   cC@s |j|S(N(t __class__(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRYBscC@s)|jr|jjnt|_dS(s;Clear internal state that shouldn't persist across commandsN(t_progbart resetstateR R\(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyREs cc@sBtj}z dVWd|j|dctj|d7R5tdefaultstcommandstaliast revsetaliast templatealiast~troot( RRR=RRRRRR>(topentIOErrorRRtreadtcloseRt ConfigErrorRRRt forcebytestrR}RkRFtupdateRERGR!tosRit expanduserR[( R#tfilenameRRjRvRRtcfgttrustedtinstRhtv((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRnsT  $   cC@s]|dkrD|ptj}x#|j|j|jfD]}x|jdD]\}}d|krkqMn|swqMnd|kr|jd|pd}|jt d|||f|j dd}nt j |}t j | r&tjj| r&tjjtjj||}n|jd||qMWq7Wn|dkr|jdd|_|jp}|jdd |_|j o|jdd |_|jr|jrt|_|_n|jp|jdd |_|jdd |_|jdd |_n|dkrY|jj|jdd|jj|jddndS(Ntpathst:s%%tnones((deprecated '%%' in path %s=%s from %s) t%R5RR>R=treport_untrustedRRMRtuserstgroups(NR(NR5(NR( R!RtgetcwdRFRGRERkt configsourceRRtreplaceR t expandpatht hasschemeRRitisabstnormpathtjoinRHR|R?R>R=R<RBR@RMRIRRdRJ(R#RRlRtntpts((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR[s<   #$   cC@s:|jj|||jj|||jj||fS(N(REtbackupRFRG(R#Rltitem((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt backupconfigscC@s@|jj|d|jj|d|jj|ddS(Niii(REtrestoreRFRG(R#tdata((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt restoreconfigsRcC@sWx6|j|j|jfD]}|j||||qW|jd||jdS(NRl(RERFRGRHR[Rq(R#RlRwRxRyR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRscC@s|r|jp|jS(N(RGRF(R#t untrusted((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt_datascC@s|j|j||S(N(RRy(R#RlRwR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRscC@s2|j||d|d|}|tkr.dS|S(s+return the plain string version of a configtdefaultRN(t_configt_unsetR!(R#RlRwRRRx((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRs   cC@sN|}}|jj|ij|}||fg}|dk r}|j|jt|jrq|j}q|j}n)d} | ||f;} |j| dd|tkr|dkr|}qv|jt j kr d}d} | ||f;} |j| ddqv|}nb|dk rv|jt j k rv||krvd} | ||t j |f;} |j| ddnxT|D]L\} } |j |j| | d} | dk r}| }| }| }Pq}q}W|jrJ| rJ|jrJxa|D]V\} } |jj| | } | dk r| |kr|jd| | | fqqWn|S(Ns+accessing unregistered config item: '%s.%s'iswarn-config-unknowns7config item requires an explicit default value: '%s.%s'swarn-config-defaultsPspecifying a mismatched default value for a registered config item: '%s.%s' '%s's3ignoring untrusted configuration option %s.%s = %s (RDtgetR!textendRtcallableRt develwarnRRtdynamicdefaultR tbytestrRR?RBRGR(R#RlRwRRRxt itemdefaultRt alternatestmsgRRt candidatetuvalue((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRsP           c C@s|j|||d|}|j|}i}d|}xC|j|D]2\} } | j|rJ| || t|>> u = ui(); s = b'foo' >>> u.setconfig(s, b'true', b'yes') >>> u.configbool(s, b'true') True >>> u.setconfig(s, b'false', b'no') >>> u.configbool(s, b'false') False >>> u.configbool(s, b'unknown') False >>> u.configbool(s, b'unknown', True) True >>> u.setconfig(s, b'invalid', b'somevalue') >>> u.configbool(s, b'invalid') Traceback (most recent call last): ... ConfigError: foo.invalid is not a boolean ('somevalue') Rs%s.%s is not a boolean ('%s')N( RR!RR<t isinstancetboolRt parseboolRRR(R#RlRwRRRtb((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR|Zs    cC@s|j||||}|dkr(|Sy||SWn`ttjfk r|dkrptj|j}ntjt d||||fnXdS(sparse a configuration element with a conversion function >>> u = ui(); s = b'foo' >>> u.setconfig(s, b'float1', b'42') >>> u.configwith(float, s, b'float1') 42.0 >>> u.setconfig(s, b'float2', b'-4.25') >>> u.configwith(float, s, b'float2') -4.25 >>> u.configwith(float, s, b'unknown', 7) 7.0 >>> u.setconfig(s, b'invalid', b'somevalue') >>> u.configwith(float, s, b'invalid') Traceback (most recent call last): ... ConfigError: foo.invalid is not a valid float ('somevalue') >>> u.configwith(float, s, b'invalid', desc=b'womble') Traceback (most recent call last): ... ConfigError: foo.invalid is not a valid womble ('somevalue') s%s.%s is not a valid %s ('%s')N( RR!t ValueErrorRt ParseErrorR tsysbytesR/RR(R#tconvertRlRwRtdescRR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt configwith~s  cC@s|jt|||d|S(sparse a configuration element as an integer >>> u = ui(); s = b'foo' >>> u.setconfig(s, b'int1', b'42') >>> u.configint(s, b'int1') 42 >>> u.setconfig(s, b'int2', b'-42') >>> u.configint(s, b'int2') -42 >>> u.configint(s, b'unknown', 7) 7 >>> u.setconfig(s, b'invalid', b'somevalue') >>> u.configint(s, b'invalid') Traceback (most recent call last): ... ConfigError: foo.invalid is not a valid integer ('somevalue') tinteger(RRc(R#RlRwRR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt configintscC@s|j||||}|tkrB|tkr9d}n|}nt|tsU|Sytj|SWn6tjk rtjt d|||fnXdS(sparse a configuration element as a quantity in bytes Units can be specified as b (bytes), k or kb (kilobytes), m or mb (megabytes), g or gb (gigabytes). >>> u = ui(); s = b'foo' >>> u.setconfig(s, b'val1', b'42') >>> u.configbytes(s, b'val1') 42 >>> u.setconfig(s, b'val2', b'42.5 kb') >>> u.configbytes(s, b'val2') 43520 >>> u.configbytes(s, b'unknown', b'7 MB') 7340032 >>> u.setconfig(s, b'invalid', b'somevalue') >>> u.configbytes(s, b'invalid') Traceback (most recent call last): ... ConfigError: foo.invalid is not a byte quantity ('somevalue') is#%s.%s is not a byte quantity ('%s')N( RRRtbytesR t sizetointRRRR(R#RlRwRRRx((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt configbytess    cC@sQ|jtj|||d|}t|tr=tj|S|dkrMgS|S(sparse a configuration element as a list of comma/space separated strings >>> u = ui(); s = b'foo' >>> u.setconfig(s, b'list1', b'this,is "a small" ,test') >>> u.configlist(s, b'list1') ['this', 'is', 'a small', 'test'] >>> u.setconfig(s, b'list2', b'this, is "a small" , test ') >>> u.configlist(s, b'list2') ['this', 'is', 'a small', 'test'] tlistN(RRt parselistRRR!(R#RlRwRRR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRds    cC@sK|j||||r7|jtj|||d|S|tkrGdS|S(sparse a configuration element as a tuple of ints >>> u = ui(); s = b'foo' >>> u.setconfig(s, b'date', b'0 0') >>> u.configdate(s, b'date') (0, 0) tdateN(RRRt parsedateRR!(R#RlRwRR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt configdates   cC@s|j|j||S(N(Rthasitem(R#RlRwR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRscC@s||j|kS(s&tell whether section exists in config.(R(R#RlR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt has_sectionscC@s|j|j|}|rJg|D]}d|dkr%|^q%}n|jr| r|jrx[|jj|D]D\}}|jj|||krv|jd|||fqvqvWn|S(NRis3ignoring untrusted configuration option %s.%s = %s (RRkR?RBRGRFRR(R#RlRt ignoresubRktiRhR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRs, cc@s[|j|}xE|jD]7}x.|j||D]\}}|||fVq5WqWdS(N(RRvR(R#RRRlRwRx((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt walkconfigscC@sdtjkr"dtjkr"tStjjddjjd}dtjjddjdkrz|jdn|r|r||kStS(suis plain mode active? Plain mode means that all configuration variables which affect the behavior and output of Mercurial should be ignored. Additionally, the output should be stable, reproducible and suitable for use in scripts or applications. The only way to trigger plain mode is by setting either the `HGPLAIN' or `HGPLAINEXCEPT' environment variables. The return value can either be - False if HGPLAIN is not set, or feature is in HGPLAINEXCEPT - False if feature is disabled by default and not included in HGPLAIN - True otherwise tHGPLAINt HGPLAINEXCEPTRt,s +strictflagst strictflags(RRZR<RtstriptsplittappendRA(R#tfeaturet exceptions((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR}s $  cC@stjjd}|dkrT|jdd}|dk rTtjj|}qTn|dkrutjjd}n|dkr|r|S|dkr|jddr|j t ddd}n|dkr7|j r7y@dt j tjtjf}|jt d |Wq7tk r3q7Xn|satjt d d t d nd |krtjt dtj|n|S(sReturn default username to be used in commits. Searched in this order: $HGUSER, [ui] section of hgrcs, $EMAIL and stop searching if one of these is set. If not found and acceptempty is True, returns None. If not found and ui.askusername is True, ask the user, else use ($LOGNAME or $USER or $LNAME or $USERNAME) + "@full.hostname". If no username could be found, raise an Abort error. tHGUSERR5RtEMAILt askusernamesenter a commit username:Rs%s@%ss&no username found, using '%s' instead sno username suppliedthints+use 'hg config --edit' to set your usernames susername %r contains a newline N(RRZRR!RRRit expandvarsR|tpromptRRRtgetusert strtolocaltsockettgetfqdnRtKeyErrorRtAbortR R(R#t acceptemptyR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR2s2       cC@s|jstj|}n|S(s>Return a short representation of a user name or email address.(R>Rt shortuser(R#R((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRWs cC@sy#|jj|}|r"|jSWntjk r9nX|r}y#|jj|}|rb|jSWq}tjk ryq}Xn|S(s:Return repository location relative to cwd or from [paths](RtgetpathtrawlocRt RepoError(R#tlocRR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR]s  cC@s t|S(N(R(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRpscC@s6|jjg|jj|||f||_dS(seinstall a buffer to capture standard output of the ui object If error is True, the error output will be captured too. If subproc is True, output from subprocesses (typically hooks) will be captured too. If labeled is True, any labels associated with buffered output will be handled. By default, this has no effect on the output returned, but extensions and GUI tools may handle this argument and returned styled output. If output is being buffered so it can be captured and parsed or processed, labeled should not be set to True. N(R9R R:R;(R#Rtsubproctlabeled((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt pushbuffertscC@sL|jj|jr-|jdd|_n d|_dj|jjS(s2pop the last buffer and return the buffered outputiiRN(R:tpopR;R!RR9(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt popbuffers    cC@s$|jr|j rtS|jdkS(scheck if write skips the labelN(R9R;RARNR!(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pytcanwritewithoutlabelsscC@s |jdkS(s.check if write calls with labels are batchabletwin32(RN(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pytcanbatchlabeledwritessc@syjrejrN|jddjdjfd|Dqujdj|nj||dS(swrite args to output By default, this method simply writes to the buffer or stdout. Color mode can be set on the UI class to have the output decorated with color modifier before being written to stdout. The color used is controlled by an optional keyword argument, "label". This should be a string containing label names separated by space. Label names take the form of "topic.type". For example, ui.debug() issues a label of "ui.debug". When labeling output for a specific command, a label of "cmdname.type" is recommended. For example, status issues a label of "status.modified" for modified files. tlabelRic3@s!|]}j|VqdS(N(R*(Rta(R*R#(s2/usr/lib64/python2.7/site-packages/mercurial/ui.pys sN(R9R;RRt _writenobuf(R#R3R((R*R#s2/usr/lib64/python2.7/site-packages/mercurial/ui.pytwrites   *cO@s|jdkr+tj||j||n_|}|jdk rz|jdd}g|D]}|j||^qY}n|j||dS(NR(R*R(RNRt win32printt_writeR!RR*(R#R3RtmsgsR*R+((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR,s(cO@s|jtj}zFy|jjdj|Wn"tk rZ}tj|nXWd|j dctj|d7RR3RSR](R#RR4((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR:s !! cC@s#|jddrtStj|S(NR5tnontty(R|R<Rtisatty(R#tfh((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt_isattyscC@s t|_dS(N(RARW(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt disablepagerscC@s|js|jrdS|jd r||jddks|jdd s|jdd|t stjjdd ks|j s|j s|j sd t j krdS|jddtj}|sdSi}x<tjjD](\}}|tjkr|||[ss|&;<>()$`\"' *?[#~=%s+missing pager command '%s', skipping pager tshelltbufsizeit close_fdsR`R^R_tenvc@sxtjtdr+tjtjtjntjtjj tjtj j j j j dS(NtSIGINT(R RPRQR^tSIG_IGNRtdup2RR^tfilenoR_R`Rtwait((RDtstderrfdtstdoutfd(s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt killpagers  (R<tanyR t iswindowsRtfindexeRRt subprocesstPopent tonativestrtclosefdstPIPER^R_t tonativeenvt shellenvirontOSErrorR;tENOENTRtdupRaR`R`RBtatexitRA(R#RTR]RZtfullcmdteRe((RTRDRcRds2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRRNs:  "% cC@stS(N(t_reqexithandlers(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt _exithandlersscO@s|jj|||f|S(szregister a function to run after dispatching a request Handlers do not stay registered across request boundaries.(RwR (R#tfuncR3tkwargs((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRssc C@stddg}iddgd6}||jkrJtd|nt||}||krytd|n|jstjjddkrdSd}|jdd }||kr|}n|}|jdd |}||kr|}n|dk r`||kr`|dk r@|j t d |fq`|j t d ||fn|dk r||kr|j t d |||fn|S(sAwhat interface to use for interactive console features? The interface is controlled by the value of `ui.interface` but also by the value of feature-specific configuration. For example: ui.interface.histedit = text ui.interface.chunkselector = curses Here the features are "histedit" and "chunkselector". The configuration above means that the default interfaces for commands is curses, the interface for histedit is text and the interface for selecting chunk is crecord (the best curses interface available). Consider the following example: ui.interface = curses ui.interface.histedit = text Then histedit will use the text interface and chunkselector will use the default curses interface (crecord at the moment). ttexttcursest chunkselectorsUnknown feature requested %ss1Feature %s does not handle all default interfacesRGRHR5t interfaces interface.%ss#invalid value for ui.interface: %s s.invalid value for ui.interface: %s (using %s) s1invalid value for ui.interface.%s: %s (using %s) N( t frozensettkeysRR}RRZRRR!RR( R#Rt alldefaultstfeatureinterfacestavailableinterfacestdefaultinterfaceRtchoseninterfaceRu((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR}s>   $     cC@s2|jdd}|dkr.|j|jS|S(s-is interactive input allowed? An interactive session is a session where input can be reasonably read from `sys.stdin'. If this function returns false, any attempt to read from stdin should fail with an error, unless a sensible default has been specified. Interactiveness is triggered by the value of the `ui.interactive' configuration variable or - if it is unset - when `sys.stdin' points to a terminal device. This function refers to input only; for output, see `ui.formatted()'. R5RN(R|R!RBRT(R#R((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRs cC@sLdtjkr;yttjdSWq;tk r7q;Xntj|dS(s-how wide is the terminal in columns? tCOLUMNSi(RRZRcRR ttermsize(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt termwidths  cC@sB|jrtS|jdd}|dkr>|j|jS|S(s*should formatted output be used? It is often desirable to format the output to suite the output medium. Examples of this are truncating long lines or colorizing messages. However, this is not often not desirable when piping output into other utilities, e.g. `grep'. Formatted output is triggered by the value of the `ui.formatted' configuration variable or - if it is unset - when `sys.stdout' points to a terminal device. Please note that `ui.formatted' should be considered an implementation detail; it is not intended for use outside Mercurial or its extensions. This function refers to output only; for input, see `ui.interactive()'. This function always returns false when in plain mode, see `ui.plain()'. R5RJN(R}R<R|R!RBRR(R#R((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRJs   cC@s5|j|joE|j|joEtj|joEtj|j}|ryddl}|jWqtk r~t }qXn|j d|rt j t jd}t jdkr+|jdr+|d }q+nM|jjd|jj|jj}|stn|jt j}WdQX|S(NiR7t s s i(RBRTRRRtisstdintisstdouttreadlinetread_history_filet ExceptionR<RRRR trawinputt oslineseptendswithR-R:tEOFErrortrstrip(R#t usereadlineRtline((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt _readlines*$      tycC@s|js,|j|d|p!dd|S|j|dd|jyH|j}|sg|}n|jddr|j|dn|SWntk rtjnXdS( shPrompt user with msg, read response. If ui is not interactive, the default is returned. RRs R*s ui.promptR5t promptechoN( RR-R,R:RR|RRtResponseExpected(R#RRtr((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR@s     cC@stjd|}|jd}g|jdjdD]}|jd^q:}d}|g|D]}||^qhfS(s4Extract prompt message and list of choices from specified prompt. This returns tuple "(message, choices)", and "choices" is the list of tuple "(response character, text without &)". >>> ui.extractchoices(b"awake? $$ &Yes $$ &No") ('awake? ', [('y', 'Yes'), ('n', 'No')]) >>> ui.extractchoices(b"line\nbreak? $$ &Yes $$ &No") ('line\nbreak? ', [('y', 'Yes'), ('n', 'No')]) >>> ui.extractchoices(b"want lots of $$money$$?$$Ye&s$$N&o") ('want lots of $$money$$?', [('s', 'Yes'), ('o', 'No')]) s(?s)(.+?)\$\$([^\$]*&[^ \$].*)iis$$RcS@s=|jd}||d|d!j|jdddfS(Nt&iiR(tindextlowerR(Rtampidx((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt choicetuplejs(tretmatchRR R (RtmRRtchoicesRR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pytextractchoicesSs 4 icC@s|j|\}}g|D]\}}|^q}xXtr|j|||}|j|krx|j|jS|jtdq7WdS(sePrompt user with a message, read response, and ensure it matches one of the provided choices. The prompt is formatted as follows: "would you like fries with that (Yn)? $$ &Yes $$ &No" The index of the choice is returned. Responses are case insensitive. If ui is not interactive, the default is returned. sunrecognized response N(RRARRRR-R(R#RRRRRRttresps((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt promptchoiceos  cC@s|js|Sy|j|j|p.tdd|jdO|jddr|jj}|sxtn|j dSt j dSWdQXWntk rt j nXdS(Ns password: s ui.promptR7R5R?s R( RR6R*RRR|RTRRRtgetpassRR(R#RRtl((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRs %   cO@s:|js6|jddd|d<|j||ndS(sqwrite status message to output (if ui.quiet is False) This adds an output label of "ui.status". R*Rs ui.statusN(R=RR-(R#RR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pytstatuss cO@s.|jddd|d<|j||dS(sewrite warning message to output (stderr) This adds an output label of "ui.warning". R*Rs ui.warningN(RR6(R#RR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRscO@s.|jddd|d<|j||dS(sawrite error message to output (stderr) This adds an output label of "ui.error". R*Rs ui.errorN(RR6(R#RR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRscO@s:|jr6|jddd|d<|j||ndS(sfwrite note to output (if ui.verbose is True) This adds an output label of "ui.note". R*Rs ui.noteN(R>RR-(R#RR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pytnotes cO@s:|jr6|jddd|d<|j||ndS(srwrite debug message to output (if ui.debugflag is True) This adds an output label of "ui.debug". R*Rs ui.debugN(R?RR-(R#RR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRs c C@sd|dkr|jdnidd6dd6}|dk rq|jddk ra|jdn|j|n|}|dkrd} n|rd |} n |d} d} |jd d r|} ntjdd |dd d| d| \} } zUtj| d} | j t j || j i|d6}d|kri|jit |dd6nx6dD].}||krp|ji||d6PqpqpW|r|ji|d6n|r|ji|d6n|j}|jd|| fd|dtjdtdddt| d} t j| j}| j Wdtj| X|S( NsAaction is None but will soon be a required parameter to ui.edit()teditorRs.txttsuffixs>extra.suffix is not None but will soon be ignored by ui.edit()tdiffs.diffs .%s.hg.txtR6t editortmpinhgshg-t-tdirtwbRttransplant_sourcet HGREVISIONsintermediate-sourceRyt rebase_sourcet HGEDITFORMt HG_PENDINGs%s "%s"RZtonerrt errprefixs edit failedt blockedtagR(sintermediate-sourceRyR(R!RRRR|R tmkstempRtfdopenR-R t tonativeeolRRt geteditortsystemRRRRt fromnativeeolRtunlink(R#RzRtextrateditformtpendingtrepopathtactiontextra_defaultsRtrdirtfdRwRuRZR*RRt((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pytedits\           !   c C@s|dkr/|jdtd}d|}n|j}td|jDrZ|}n|j|&|j|d|d|d|} WdQX| r|rdtj j |j dd d t j | f} |rd || f} n|| n| S( sexecute shell command with appropriate output stream. command output will be redirected if fout is not stdout. if command fails and onerr is None, return status, else raise onerr object as exception. itunknown_system_cs@s|]}|dVqdS(iN((RR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pys sRZtcwdtoutNs%s %siis%s: %s(R!t translatet _keepalnumRRRfR:Rt _runsystemRRitbasenameR Rt explainexit( R#tcmdRZRRRRt cmdsuffixRtrcterrmsg((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRs    ' "cC@stj|d|d|d|S(s[actually execute the given shell command (can be overridden by extensions like chg)RZRR(RR(R#RRZRR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRscC@s|js|r|dkr*tj}nt|ddd}|dk rtj|d}tj|d}tj|d|d}|jddj |d dj |dj |qtj |d|d|d}|jt j dj |n|jp|S( sprint exception traceback if traceback printing enabled or forced. only to call in exception handler. returns true if traceback printed.itcauseiis#Traceback (most recent call last): RiN( R@R!tsystexc_infoR9Rt format_tbtformat_exception_onlyR6Rtformat_exceptionRR(R#texctforceRtcausetbtexctbtexconlytoutput((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRs    !"cC@sCtjdkrd}nd}tjjdpB|jdd|S(sreturn editor to usetplan9tEtvitHGEDITORR5R(R t sysplatformRRZRR(R#R((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR3s  cC@sB|js4|js4|jdds4tj| r8dSt|S(s,setup the progbar singleton to the ui objectR tdisableN(R=R?R|R t shouldprintR!t getprogbar(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR?s cC@s<ts dS|jdk r8|jjr8|jjndS(s:clear progress bar output if any. use it before any outputN(t haveprogbarRR!tprintedtclear(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR2Hs c C@s|jdk r7|jj||d|d|d|n|dksV|jdd rZdS|rmd|}n|rd|}n|rd||}|jd ||||||fn|jd ||||fdS( sGshow a progress message By default a textual progress bar will be displayed if an operation takes too long. 'topic' is the current operation, 'item' is a non-numeric marker of the current position (i.e. the currently in-process file), 'pos' is the current numeric position (i.e. revision, bytes, etc.), unit is a corresponding unit label, and total is the highest expected pos. Multiple nested topics may be active at a time. All topics should be marked closed by setting pos to None at termination. RtunitttotalR RNRgY@s%s:%s %d/%d%s (%4.2f%%) s %s:%s %d%s (RR!R R|R(R#RtposRRRtpct((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR Os    cC@stj||||S(s=exists only so low-level modules won't need to import scmutil(R R (R#RRR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt makeprogresspscO@sdS(sEhook for logging facility extensions service should be a readily-identifiable subsystem, which will allow filtering. *msg should be a newline-terminated format string to log, and then any values to %-format into that format string. **opts currently has no defined meanings. N((R#tserviceRR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pytlogtscC@s&|jdk r"tj|||S|S(sVstyle msg based on supplied label If some color mode is enabled, this will add the necessary control characters to apply such color. In addition, 'debug' color mode adds markup showing which label affects a piece of text. ui.write(s, 'label') is equivalent to ui.write(ui.label(s, 'label')). N(RNR!Rt colorlabel(R#RR*((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR*s ic C@s>|jdds8|dks1|jd| r8dSnd|}|d7}|jrtj|||j|j|jdd|djtj |fnt j }t j |d }||dd !\}}}t j|t j|}}|jd ||||f|jdd ||||d}}dS( sissue a developer warning message Use 'stacklevel' to report the offender some layers further up in the stack. tdevels all-warningsNs devel-warn: iRs %s at: %sRiis%s at: %s:%d (%s) (R|R!R@R tdebugstacktraceRSRRRRtgetstackframestinspectt currentframetgetouterframesR RR6( R#Rt stacklevelRtcurframetcalframetfnametlinenotfmsg((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyRs$    #   icC@sS|jddp!|jdds(dS|d|7}|j|d|dddS(sissue a deprecation warning - msg: message explaining what is deprecated and how to upgrade, - version: last version where the API will be supported, Rs all-warningss deprec-warnNsF (compatibility will be dropped after Mercurial-%s, update your code.)RR(R|R(R#RtversionR((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyt deprecwarns cC@s|jS(sWThe environment variables that are safe to export, e.g. through hgweb. (Re(R#((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR7sc c@si}z^xR|jD]D\\}}}|j|||||f<|j||||qWdVWdx'|jD]\}}|j|qtWd|kr|jddnXdS(sContext manager for temporary config overrides `overrides` must be a dict of the following structure: {(section, name) : value}NR5R=Rl(R5R=(RkRRRR[( R#t overridesRytbackupsRlRwRxt__R((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pytconfigoverrides  N(\R/R0R!R$t classmethodRzRqRYRt contextlibtcontextmanagerRRRRR<RnR[RRRRRRRRRRR|RRRRdRRRRRR}RRRR t propertycacheRR$R&R'R)R-R,R/R6R5R:RBRCRDRRtpropertyRwRsR}RRRJRRt staticmethodRRRRRRRRRRRRRRR2R RRR*RRR7R(((s2/usr/lib64/python2.7/site-packages/mercurial/ui.pyR5s S      2'     2 $"#     %           H >  G   &     <     !  RcB@s#eZdZdZddZRS(sRepresents a collection of paths and their configs. Data is initially derived from ui instances and the config files they have loaded. cC@sztj|xf|jddtD]O\}}|s;q#n|jd|\}}t||d|d|||s\            L  +     6 I