Ë ¹¹¹ä!3­{ãóx—ddlZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z m Z mZmZmZddlmZmZmZddlmZej0Zej2Zej4Zej6Zej8Zej:Zej<Zej>Zej@Z ejBZ!ejDZ"ejFZ#ejHZ$ejJZ% ddl&Z&ddl'Z&ddl(Z&ddl)Z&ddl*Z&ddlm+Z+ddl,Z,e,jZd d e.¬ «e&j^j`da2d „Z3d „Z4d„Z5d„Z6Gd„de7«Z8d„Z9d„Z:d„Z;d„Z<Gd„d«Z= d(d„Z>d„Z?Gd„d«Z@Gd„deA«ZBd„ZCd„ZDeDeDeCd œZEd!„ZFGd"„d#e«ZGd$ZHd%„ZIGd&„d'ee«ZJy#e1$rdZ&YŒƒwxYw))éN)Ú_)Úopen)ÚencodingÚerrorÚpycompatÚutilÚvfs)ÚdateutilÚprocutilÚ stringutilé)Úcommon)Ú transportÚignorezsvn.core)ÚmoduleÚcategorycój—t�ytjrdanDtj«5t j t j«xsdaddd«tjt«jattjd«jk(a y#1swYŒSxYw)NÚmbcsz ISO-8859-1úutf-8) Ú fsencodingrÚ iswindowsrÚ with_lc_ctypeÚlocaleÚ nl_langinfoÚCODESETÚcodecsÚlookupÚnameÚfsencoding_is_utf8©óúÓ ?Ð?r!có<—tj|dddzdg«S)Nés UTCs%Y-%m-%dT%H:%M:%S)r Ú parsedater's r"Ú parsesvndater1js&€ô × Ñ ˜a  ˜f wÑ.Ð1EÐ0FÓ GÐGr!có —eZdZy)ÚSvnPathNotFoundN)Ú__name__Ú __module__Ú __qualname__r r!r"r3r3qs„Ør!r3có—|jdd«}d}t|«dkDrt|d«}|djdd«}d}d}t|«dkDr$|dj d«r|ddd}d|dz}|||fS) aÀParse a revision string and return (uuid, path, revnum). >>> revsplit(b'svn:a2147622-4a9f-4db4-a8d3-13562ff547b2' ... b'/proj%20B/mytrunk/mytrunk@1') ('a2147622-4a9f-4db4-a8d3-13562ff547b2', '/proj%20B/mytrunk/mytrunk', 1) >>> revsplit(b'svn:8af66a51-67f5-4354-b62c-98d67cc7be1d@1') ('', '', 1) >>> revsplit(b'@7') ('', '', 7) >>> revsplit(b'7') ('', '', 0) >>> revsplit(b'bad') ('', '', 0) ó@r ró/r!ssvn:éN)ÚrsplitÚlenÚintÚsplitÚ startswith)ÚrevÚpartsÚrevnumÚuuidÚmods r"ÚrevsplitrEus”€ð �J‰J�t˜QÓ €EØ €FÜ ˆ5ƒz�A‚~Ü�U˜1‘X“ˆØ �!‰H�N‰N˜4 Ó #€EØ €DØ €CÜ ˆ5ƒz�A‚~˜% ™(×-Ñ-¨gÔ6Ø�Q‰x˜˜ˆ|ˆØ�U˜1‘X‰oˆØ ��fÐ Ðr!có.—tj|d«S)Ns!$&'()*+,-./:=@_~)ÚurlreqÚquoter's r"rHrH�s€ô �<‰<˜Ð/Ó 0Ð0r!có6— tjjtjj t |«««S#tjj $rYnwxYwtjj|«rstjjtj|««}tjrdtj|«z}t |«}dt|«z}tjj |«S)z¨Convert path or URL to a SVN URL, encoded in UTF-8. This can raise UnicodeDecodeError if the path or URL can't be converted to unicode using `fsencoding`. r9s file://%s)ÚsvnÚclientÚ url_from_pathÚcoreÚsvn_path_canonicalizer)ÚSubversionExceptionÚosÚpathÚisdirÚnormpathrÚabspathrrrH)rQs r"ÚgeturlrU›sË€ð  Ü�z‰z×'Ñ'Ü �H‰H× *Ñ *¬6°$«<Ó 8ó ð øô �8‰8× 'Ñ 'ò á ð úô ‡w�w‡}�}�TÔÜ�w‰w×Ѥ§ ¡ ¨TÓ 2Ó3ˆÜ × Ò Øœ$Ÿ-™-¨Ó-Ñ-ˆDô�d‹|ˆØœe D›kÑ)ˆÜ �8‰8× )Ñ )¨$Ó /Ð/s‚AAÁA'Á&A'có¢—tjj«}tjj|_||j _|S©N)rJrMÚsvn_opt_revision_tÚsvn_opt_revision_numberÚkindÚvalueÚnumber)r\Úoptrevs r"r]r]³s6€Ü �X‰X× (Ñ (Ó *€FÜ—(‘(×2Ñ2€F„KØ €F‡L�LÔØ €Mr!có—eZdZd„Zy)Ú changedpathcój—|j|_|j|_|j|_yrW)Ú copyfrom_pathÚ copyfrom_revÚaction)ÚselfÚps r"Ú__init__zchangedpath.__init__»s%€ØŸ_™_ˆÔØŸN™NˆÔØ—h‘hˆ� r!N)r4r5r6rfr r!r"r_r_ºs„ór!r_c óà‡‡ —dŠ ˆˆ fd„} tj|¬«} tjj | j|||||||«t j d‰‰ «‰j«tjd«y#t$rt j d‰‰ «YŒHt$r4} t j tj| «‰‰ «Yd} ~ Œd} ~ wwxYw)Néÿÿÿÿcó’•—i}|�&|j«D]\}}t|«||<Œtj|||||f‰ ‰ «yrW)Úitemsr_ÚpickleÚdump) Ú orig_pathsrBÚauthorr,ÚmessageÚpoolÚpathsÚkÚvÚfpÚprotocols €€r"Úreceiverzget_log_child..receiverÍsMø€ØˆØ Ð !Ø"×(Ñ(Ö*‘��1Ü& q›>��a’ð+ä� ‰ �U˜F F¨D°'Ð:¸BÀÕIr!©Úurlr)rÚSvnRaTransportrJÚraÚget_logrkrlÚIOErrorÚ Exceptionr Ú forcebytestrÚflushrPÚ_exit) rtrxrqÚstartÚendÚlimitÚdiscover_changed_pathsÚstrict_node_historyrvÚtÚinstrus ` @r"Ú get_log_childrˆÁsÅù€ð€HõJð(ô × $Ñ $¨Ô -ˆÜ �‰�‰Ø �D‰DØ Ø Ø Ø Ø "Ø Ø ô ô � ‰ �D˜"˜hÔ'؇H�H„Jô‡H�HˆQ…Køô ò(ä� ‰ �D˜"˜hÖ'Ü òAÜ� ‰ ”J×+Ñ+¨DÓ1°2°x×@Ñ@ûðAúsŒAB C-Â1C-Â9*C(Ã(C-c ó—tj«5t€tjt d««‚t |jj««}t|jg|¢­Žddd«y#1swYyxYw)ziFetch SVN log in a subprocess and channel them back to parent to avoid memory collection issues. Ns5debugsvnlog could not load Subversion python bindings) rrrJrÚAbortrÚ decodeargsÚfinÚreadrˆÚfout)ÚuiÚoptsÚargss r"Ú debugsvnlogr’ðsb€ô × Ñ Õ Ü ˆ;Ü—+‘+ÜÐJÓKóð ô˜"Ÿ&™&Ÿ+™+›-Ó(ˆÜ�b—g‘gÐ% Ó%÷ × Ñ ús •AA<Á<Bcó"—eZdZdZd„Zd„Zd„Zy)Ú logstreamz$Interruptible revision log iterator.có—||_yrW)Ú_stdout)rdÚstdouts r"rfzlogstream.__init__s €Øˆ� r!c#ó.K— tj|j«} |\}}}}}|–—Œ.#t$rt j t d««‚wxYw#ttf$r&|€Yyt j t d«|z«‚wxYw­w)Nó>Mercurial failed to run itself, check hg executable is in PATHslog stream exception '%s') rkÚloadr–ÚEOFErrorrrŠrÚ TypeErrorÚ ValueError)rdÚentryrmrBrnr,ros r"Ú__iter__zlogstream.__iter__s©èø€Øð ÜŸ ™  D§L¡LÓ1�ð KØ.receiver,sIø€ØˆEØÐ%Ø&×,Ñ,Ö.‘D�A�qÜ*¨1›~�E˜!’Hð/à �K‰K˜ ¨°°gÐ>Õ ?r!rw)rryrJrzr{) rdrxrqr�r‚rƒr„r…rvr†s ` r"rfzdirectlogstream.__init__"sGø€ô @ô × $Ñ $¨Ô -ˆÜ �‰�‰Ø �D‰DØ Ø Ø Ø Ø "Ø Ø õ r!có—yrWr r¢s r"r¡zdirectlogstream.closeAs€Ø r!N©rTF)r4r5r6r£rfr¡r r!r"r¥r¥s„ñ8ðØ#Ø!ó ó> r!r¥có�—dD]A}tjjtjj||««rŒAyy)N)slocksóhookssformatódbFT)rPrQÚexistsÚjoin)r�rQÚprotoÚxs r"Ú filecheckr²Hs3€Û 3ˆÜ�w‰w�~‰~œbŸg™gŸl™l¨4°Ó3Õ4Ùð4ð r!có’— tj«}|jtjd||fz«d«}|j «}d|vS#t j$rU}|jdk7r|jtd««Yd}~y|jj «}Yd}~d|vSd}~wt$rYywxYw)Ns%s://%s/!svn/ver/0/.svnsrbi”swsvn: cannot probe remote repository, assume it could be a subversion repository. Use --source-type if you know better. TFs#) rGÚ buildopenerrrÚstrurlr�ÚurlerrÚ httperrorÚcodeÚwarnrrtr})r�rQr°ÚopenerÚrspÚdatar‡s r"Ú httpcheckr½RsÀ€ðÜ×#Ñ#Ó%ˆØ�k‰kÜ �O‰OÐ6¸%À¸ÑFÓ GÈó ˆð�x‰x‹zˆð 2°TÐ 9Ð9øô × Ñ ò Ø �9‰9˜Ò à �G‰GÜð&óô ôØ�w‰w�|‰|‹~Œð 2°TÐ 9Ð9ûô òáðús$‚AAÁCÁ')B7ÂB7Â7 CÃC)óhttpshttpsófilecó>— |jdd«\}}|dk(r®tjr?|dddk(r7|ddj«r$|ddj «dk(r|dddz|ddz} |j t «}tj|«}d |vr|jtd ««y |jt «}|dk(rtj"|«}n4|dvr0t%j&|«s|jtd««y t(j+|d„«}d|vr%||||«ry|j-dd«d}d|vrŒ%y #t$r7|jtd «tjt «z«Yy wxYw#t$rvd}tj |«} |j t «nD#t$r8|jtd «tjt «z«YYy wxYwY�ŒQwxYw)Ns://r r¿r9éés%3a/s:/sfSubversion requires that file URLs can be converted to Unicode using the current locale encoding (%s) Fu�sISubversion does not support non-UTF-8 percent-encoded bytes in file URLs sbSubversion requires that paths can be converted to Unicode using the current locale encoding (%s) )r¾ÚhttpsscSubversion sources don't support non-ASCII characters in HTTP(S) URLs. Please percent-encode them. có—y)NFr )r‘s r"Úzissvnurl..¸s€¨er!Tr)r>rrÚisalphaÚlowerr%rÚUnicodeDecodeErrorr¹rÚsysbytesrGÚ url2pathnamer&r�rrTÚpconvertrÚ isasciistrÚprotomapÚgetr;)r�rxr°rQÚ unicodepathÚchecks r"ÚissvnurlrÑrs5€ð9Ø—i‘i ¨Ó*‰ ˆˆtØ �GÒ ä×"Ò"ؘ˜!�H Ò$ؘ˜1�I×%Ñ%Ô'ؘ˜1�I—O‘OÓ%¨Ò0à˜B˜Q�x %Ñ'¨$¨q¨r¨(Ñ2�ð Ø"Ÿk™k¬*Ó5� ô"!×-Ñ-¨kÓ:ˆKØ+¨{Ñ:Ø—‘Üð@óôð ð×%Ñ%¤jÓ1ˆDð �ÒÜ�}‰}˜TÓ"‰Ø Ð$Ñ $Ü×"Ñ" 4Ô(Ø �G‰GÜðCóô ð Ü �L‰L˜Ñ 3Ó 4€EØ �$‰,Ù ��T˜5Ô !ØØ�{‰{˜4 Ó# AÑ&ˆð �$Š,ð øô}&ò Ø—‘ÜðOóô×'Ñ'¬ Ó3ñ 4ôñð ûô@ ò ؈Ü�|‰|˜CÓ ˆð Ø �K‰Kœ Õ #øÜ!ò Ø �G‰GÜðHóô×#Ñ#¤JÓ/ñ 0ô òð úò $ð ús`‚A)FÁ,EÂ3FÂ5FÅ=FÆFÆFÆFÆ HÆ>GÇHÇ=HÈHÈHÈHÈHcó‡—eZdZdˆfd„ Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z dd „Z d „Zd „Zd„Zdd„Zd„Zdd„Zd„Zd„Zd„Zd„Zd„Zdd„Zdd„Z dd„ZˆxZS)Ú svn_sourcecó¼ •—tt|� ||||¬«t«|j d«s�|j d«st j j|«r=t j jt j j|d««s#t||«sttd«|z«‚t€ttd««‚ tjjtjj f}|dkrttd«|z«‚ i|_d} |j'd «}|d k\rt)||d zd«}|d|}t-|«|_d |_ t3j4«5t7j8|j.¬«|_|j6j:|_|j6j<|_tj:jA|j:«|_!tDjG|j.tI|jB«d«|_%d|_&|jJ|_'i|_(i|_)tj:jU|j:«|_+ddd«|r;tI|«d kDrt_j`td««‚ t)|d «}|jbjedd«} | €d} | jgd«|_4|jbjedd«|_5 t)|jj«|_5|jjd krd |_5 t3j4«5|jm|jJ|«|_7ddd«|jns+t_j`td«|jJz«‚|js|jn«|_:d|_;t j jt j j|d««r||_<d|_=yd|_<d|_=y#t"$rttd ««‚wxYw#t*$rY�Œ6wxYw#1swY�ŒøxYw#tjjX$r„|j[«dtjjtjj tjj\fz}ttd«|j.|fz«‚wxYw#t*$r%t_j`td«|d z«‚wxYw#t*$r,t_j`td«|jjz«‚wxYw#1swY�ŒxYw#tp$r d|_7Y�Œ$wxYw)N)Úrevsssvn://s svn+ssh://ó.svns-%s does not look like a Subversion repositorys)could not load Subversion python bindings)r r:s=Subversion python bindings %d.%d found, 1.4 or later requireds=Subversion python bindings are too old, 1.4 or later requiredr8rr sUTF-8rws%d.%d.%dsB%s does not look like a Subversion repository to libsvn version %ss@subversion source does not support specifying multiple revisionss"svn: revision %s is not an integeróconverts svn.trunkótrunkr9s svn.startrevs(svn: start revision %s is not an integeróno revision found in module %s©NNs .svn/entries)>ÚsuperrÓrfr#r?rPrQr®r¯rÑÚNoReporrJÚ MissingToolrMÚ SVN_VER_MAJORÚ SVN_VER_MINORÚAttributeErrorÚlastrevsÚrfindr=r�rUrxrrrrryrzrKÚctxÚget_repos_rootÚbaseurlrGÚunquoter<rÚ prevmoduleÚ rootmoduleÚcommitsrqÚget_uuidrCrOÚ tracebackÚ SVN_VER_MICROrrŠr�ÚconfigÚstripÚ trunknameÚstartrevÚlatestÚheadr3rBÚ last_changedÚ _changescacheÚwcÚ convertfp) rdr�ÚrepotyperxrÕÚversionrñÚatÚ svnversionÚtrunkcfgÚ __class__s €r"rfzsvn_source.__init__ÏsÕø€Ü Œj˜$Ñ(¨¨X°sÀÐ(ÔFäÔà �N‰N˜9Ô %Ø�~‰~˜mÔ,ä—‘—‘˜sÔ#Ü—G‘G—N‘N¤2§7¡7§<¡<°°WÓ#=Ô>䘘CÔ äÜÐBÓCÀcÑIóð ô ˆ;ÜœaÐ LÓMÓNÐ Nð Ü—h‘h×,Ñ,¬c¯h©h×.DÑ.DÐDˆGؘÒÜ!Üð1óðñ óðð 𠈌 àˆð 𗑘4“ˆBØ�QŠwܘS  a¡ ˜]Ó+�ؘ#˜2�h�ô˜#“;ˆŒØ ˆŒ ð Ü×#Ñ#Õ%Ü!*×!9Ñ!9¸d¿h¹hÔ!G�”ØŸ.™.×+Ñ+�”ØŸ>™>×0Ñ0�”Ü"Ÿv™v×4Ñ4°T·W±WÓ=�” ô%Ÿn™n¨T¯X©X´c¸$¿,¹,Ó6GÐ6IÐ-JÓK�” Ø"&�”Ø"&§+¡+�”Ø!�” Ø�” ÜŸF™FŸO™O¨D¯G©GÓ4�” ÷&ñ8 Ü�4‹y˜1Š}Ü—k‘kÜð9óóðð  ܘT !™W›�ð —7‘7—>‘> *¨lÓ;ˆØ Р؈HØ!Ÿ™¨Ó-ˆŒØŸ™Ÿ™ z°?ÓCˆŒ ð Ü § ¡ Ó.ˆDŒMØ�}‰}˜qÒ Ø !�” ð  Ü×#Ñ#Õ%Ø ŸK™K¨¯ © °VÓ<�” ÷&ð�yŠyÜ—+‘+ÜÐ3Ó4°t·{±{ÑBóð ð!ŸK™K¨¯ © Ó2ˆÔà)ˆÔä �7‰7�>‰>œ"Ÿ'™'Ÿ,™, s¨OÓ<Ô =؈DŒGðˆ�ðˆDŒG؈�øôCò ÜÜð)óóð ð ûô$ò Ú ð ú÷ &Ñ%ûô�x‰x×+Ñ+ò Ø �L‰LŒNØ$Ü—‘×&Ñ&Ü—‘×&Ñ&Ü—‘×&Ñ&ð(ñˆJô Üð,óð—8‘8˜ZÐ(ñ )óð ð ûô2ò Ü—k‘kÜÐ;Ó<¸tÀA¹wÑFóðð ûôò Ü—+‘+ÜÐ=Ó>ÀÇÁÑNóð ð ú÷ &Ñ%ûäò ؈D�Ið ús‡ÃAQ/Ä:,RÅ>R-ÆDR Ê*R-Ë!UÍ0VÍ8WÎ "V:Î.WÑ/R Ò RÒRÒ R*Ò%R-Ò-B!UÕ.U?Ö5V7Ö:WÖ?W×W×Wcój—tj«|_|jj«yrW)rrÚ __enter__r¢s r"Úbeforezsvn_source.beforeOs%€Ü!×/Ñ/Ó1ˆÔØ ×Ñ×$Ñ$Õ&r!có>—|jjddd«yrW)rÚ__exit__r¢s r"Úafterzsvn_source.afterSs€Ø ×Ñ×#Ñ# D¨$°Õ5r!có|—i}|D].}t|«\}}}|j||«}||kDsŒ*|||<Œ0||_yrW)rEÚ setdefaultrá)rdÚrevmapráÚrevidrCrrBÚ lastrevnums r"Ú setrevmapzsvn_source.setrevmapVsN€ØˆÛˆEÜ#+¨E£?Ñ ˆD�&˜&Ø!×,Ñ,¨V°VÓ<ˆJؘ Ó"Ø#)�˜Ò ð ð !ˆ� r!cóô— tjj|jj d«dzt |«z|d|j «y#tjj$rYywxYw)Nr9FT) rJrKÚlsrxÚrstriprHrãrMrO)rdrQr]s r"r®zsvn_source.exists_sc€ð Ü �J‰J�M‰MØ—‘—‘ Ó%¨Ñ,¬u°T«{Ñ:ØØØ—‘ô  ð øÜ�x‰x×+Ñ+ò Ùð ús‚AAÁA7Á6A7c󮇗ˆfd„}ˆfd„}t‰j«}d}|d|«}|d|«‰_|d|«}|rЉjxsd}‰xjd|zz c_‰j ‰j‰j«‰_‰j s+t jtd«‰jz«‚‰j g‰_ ‰j�d |‰jxsdfz‰_|�r‰jjd«}tjj|dzt|«z|d ‰j «}t#|«D]·} d ||| fz} || ‰j«sŒ‰j | ‰j«} | s(‰j$j'td «| z«Œe‰j$j'td «| ‰j)| «fz«‰jj+| «Œ¹‰j,rš‰jrŽt/‰j«dkDrt jtd««‚‰j)‰jd«} | ‰j,kr+t jtd«‰j,z«‚‰jS)Ncób•—‰j||«}|tjjk(SrW)Ú _checkpathrJrMÚ svn_node_dir)rQrBrZrds €r"rRz"svn_source.getheads..isdirls(ø€Ø—?‘? 4¨Ó0ˆDØœ3Ÿ8™8×0Ñ0Ñ0Ð 0r!cóÆ•—‰jjdd|z«}|�|j«dk(ry|xs|jd«}‰j||«sG‰jj |«r|dk(ry|r#t jtd«||fz«‚y‰jjtd«|tj|«fz«|S)Nr×ssvn.r!r9rØs&expected %s to be at %r, but not foundsfound %s at %r ) r�rírîr®rÚendswithrrŠrÚnoterÚbytestr)rr@ÚcfgpathrQrds €r"Ú getcfgpathz'svn_source.getheads..getcfgpathpsÒø€Ø—g‘g—n‘n Z°¸4±Ó@ˆGØÐ" w§}¡}£¸#Ò'=ØØ’O˜t×*Ñ*¨4Ó0ˆDØ—;‘;˜t SÔ)Ø—;‘;×'Ñ'¨Ô-°$¸(Ò2BàÙÜŸ+™+ÜÐCÓDØ ˜,ñ'óððØ �G‰G�L‰LÜÐ%Ó&¨$´×0@Ñ0@ÀÓ0FÐ)GÑGô ðˆKr!r!rØstagssbranchesr9rÙs%s/%sFs%s/%s/%ssignoring empty branch %s sfound branch %s at %d r s>svn: start revision is not supported with more than one branchrs.svn: no revision found after start revision %d)r]róÚtagsrrñròrrŠrÚheadsrxrîrJrKr rHrãÚsortedr�rrBr¨rðr<) rdrRrr@Ú oldmoduleÚtrunkÚbranchesÚrpathÚ branchnamesÚbranchrÚbrevidrBs ` r"Úgetheadszsvn_source.getheadsksmø€ô 1ô ô(�T×&Ñ&Ó'ˆØˆ Ù˜8 SÓ)ˆÙ˜w¨Ó,ˆŒ Ù˜k¨3Ó/ˆñ ØŸ ™ Ò* sˆIØ �KŠK˜4 %™<Ñ '�KØŸ ™  D§K¡K°×1BÑ1BÓCˆDŒIØ—9’9Ü—k‘kÜÐ7Ó8¸4¿;¹;ÑFóðð —i‘i�[ˆŒ Ø �9‰9Ð Ø  I°· ± Ò0D¸WÐ#FÑFˆDŒIò Ø—H‘H—N‘N 4Ó(ˆEÜŸ*™*Ÿ-™-ؘ‘ œu X›Ñ.°°U¸D¿H¹HóˆKô! Ö-�Ø$¨ °8¸VÐ'DÑD�Ù˜V T×%6Ñ%6Ô7ØØŸ™ V¨T×->Ñ->Ó?�ÙØ—G‘G—L‘L¤Ð#@Ó!AÀFÑ!JÔKØØ—‘— ‘ ÜÐ0Ó1ؘtŸ{™{¨6Ó2Ð3ñ4ôð— ‘ ×!Ñ! &Õ)ð.ð �=Š=˜TŸZšZÜ�4—:‘:‹ Ò"Ü—k‘kÜð5óóðð —[‘[ §¡¨A¡Ó/ˆFؘŸ ™ Ò%Ü—k‘kÜÐGÓHØ—m‘mñ$óðð �z‰zÐr!cóL—|j|\}}i}|r|j|||«\}|_}|s|s²t|«\}}} tj j |jt|«zt| «d|j«} | j«D� � cgc].\} } | jtjjk(r| ‘Œ0}} } t«|_j!«t#j$||gt'|«z«}||fScc} } w©NT)rqÚ expandpathsÚremovedrErJrKr rårHr]rãrjrZrMÚ svn_node_fileÚsetÚsortrÚziplistr<) rdr@ÚfullrqÚparentsÚcopiesÚfilesrCrrBÚentriesÚnÚes r"Ú _getchangeszsvn_source._getchanges¿s€ØŸ:™: c™?ш�؈٠Ø*.×*:Ñ*:¸3ÀÀwÓ*OÑ 'ˆE�4”< Ù ‘wä#+¨C£=Ñ ˆD�&˜&Ü—j‘j—m‘mØ— ‘ œu V›}Ñ,¬f°V«n¸dÀDÇHÁHóˆGð $ŸM™MœOôá+‘D�A�qØ—6‘6œSŸX™X×3Ñ3Ò3òØ+ð ñô ›5ˆDŒLà � ‰ Œ Ü× Ñ  ¨¨´°E³ Ñ(:Ó;ˆØ�vˆÐùósÂ$3D có®—|jd|k(r|s|jd\}}n"|j||«\}}|j|=||t«fS)Nrr )rôr0rqr&)rdr@r)r,r+s r"Ú getchangeszsvn_source.getchangesÕs_€à × Ñ ˜aÑ  CÒ '±ð #×0Ñ0°Ñ3‰OˆU‘Fð#×.Ñ.¨s°DÓ9‰OˆU�Fà— ‘ ˜3�Ø�vœs›uÐ%Ð%r!cór—|j|d«\}}|||ff|_|D�cgc]}|d‘Œ c}Scc}w)NFr)r0rô)rdr@Úir,r+Úfs r"Úgetchangedfileszsvn_source.getchangedfilesåsE€à×*Ñ*¨3°Ó6‰ˆ�Ø! E¨6 ?Ð3ˆÔÙ#Ó$™e˜��!“˜eÑ$Ð$ùÒ$s¥ 4cóv—||jvrŽt|«\}}}||_|j|«|jj |d«}||kr|dz}|j ||«||jvr!tjtd«|z«‚|j|}|j|=|S)Nrr ssvn: revision %s not found) rérErÚreparentrárÎÚ_fetch_revisionsrrŠr)rdr@rCrrBÚstopÚ revcommits r"Ú getcommitzsvn_source.getcommitës¯€Ø �d—l‘lÑ "Ü#+¨C£=Ñ ˆD�&˜&Ø ˆDŒKØ �M‰M˜&Ô !ð—=‘=×$Ñ$ V¨QÓ/ˆDؘŠ}Ø ‘z�Ø × !Ñ ! &¨$Ô /ؘ$Ÿ,™,Ñ&Ü—k‘k¤!Ð$AÓ"BÀVÑ"KÓLÐLØ—L‘L Ñ%ˆ à �L‰L˜Ð ØÐr!cóv—tjd|«s#tjt d«||fz«‚y)z:fails if revision format does not match the correct formatsWsvn:[0-9a-f]{8,8}-[0-9a-f]{4,4}-[0-9a-f]{4,4}-[0-9a-f]{4,4}-[0-9a-f]{12,12}(.*)@[0-9]+$s.%s entry %s is not a valid revision identifierN)ÚreÚmatchrrŠr)rdÚrevstrÚmapnames r"Úcheckrevformatzsvn_source.checkrevformatsF€ä�x‰xð $ð ô  ô —+‘+ÜÐCÓDؘFÐ#ñ$óð ð  r!cól—t|jjdd«d«|jz S)Nr8r )r=ròr;rðr¢s r"Ú numcommitszsvn_source.numcommitss,€Ü�4—9‘9×#Ñ# D¨!Ó,¨QÑ/Ó0°4·=±=Ñ@Ð@r!c óð—i}|j€|Sg}|j}tjj|j«}|j |jg||j «} |D�]9}|\}}} } } |sg}|j «D� � cgc]*\} } | jr| j| j| f‘Œ,}} } |jd¬«|}|r|dd|k(r|j«d}|D]g\}}}|j|dz«sŒ|D]3}|dj|«sŒ||dt|«dz}||g|ddŒS|j|||g«Œi|j «D� � cic]-\} } | jdk(r| jr | | j“Œ/}} } t«}|D]K}|D]D\}}}|j|dz«r|j||dz«rŒ3|j!|«ŒKŒM|D]0}|D� cgc]#} | d|k7r| dj|dz«s| ‘Œ%}} Œ2g}|D]c\}}}|j#d«d}|j|«r|j|||g«ŒA||vrŒF |j%||«}|r ||vr|||<Œe|}|}�Œ< |j)«|Scc} } wcc} } wcc} w#t&$rYŒœwxYw#|j)«wxYw)NT)ÚreverserhrÁrr9óA)rrJrzÚget_latest_revnumÚ_getlogrðrjrarbr'Úpopr?r<r¨rcr&Úaddr>rñr3r¡)rdrÚpendingsÚtagspathr�ÚstreamržÚ origpathsrBrnr,rorer/r+Ú srctagspathÚsourceÚ sourcerevÚdestÚtagÚtagpathÚaddedsÚbadrootsÚdestrootÚbadrootÚ renamingsÚtagnameÚtagids r"Úgettagszsvn_source.gettagssF€ØˆØ �9‰9Р؈KðˆØ—9‘9ˆÜ—‘×(Ñ(¨¯©Ó1ˆØ—‘˜tŸy™y˜k¨5°$·-±-Ó@ˆðS Ü�Ø;@Ñ8� ˜6 6¨4°Ù Ø "�Ið!*§¡Ô 1ôá 1™˜˜1Ø—’ð—_‘_ a§n¡n°aÒ8Ø 1ðñð — ‘  D� Ô)à&� Ù˜f R™j¨™m¨xÒ7à"(§*¡*£,¨q¡/�Kã/5Ñ+�F˜I tØŸ?™?¨8°d©?Ô;Ø Û'˜Ø˜q™6×,Ñ,¨TÕ2Ø&,¨s°1©v´c¸$³i°kÐ/BÑ&B˜GØ'.° Ð&:˜C  ˜GÙ!ð (ð !Ÿ™¨°¸DÐ(AÕBð06ð(!*§¡Ô 1ôá 1™˜˜1Ø—x‘x 4Ò'¨A¯OªOð�q—‘Ñ&Ø 1ðñô ›5�Û &�HÛ3;Ñ/˜  ¨4Ø#Ÿ™Ø$ t™Oô à#×.Ñ.¨v°hÑ/?À$Ñ/FÔGØ$Ø Ÿ ™  XÔ.Ùñ 4<ð!'ó (�Gñ"*ó á!)˜AؘQ™4 7š?Ø ! !¡§¡°¸$±Ô ?òØ!)ðñ ð (ð� Û/7Ñ+�F˜I tØ"Ÿj™j¨Ó.¨rÑ2�GØ×(Ñ(¨Ô5Ø!×(Ñ(¨&°)¸WÐ)EÔFØ Ø $‘à ð Ø $§ ¡ ¨F°IÓ >˜Ù  W°DÑ%8Ø,1˜D ™Møð08ð&%�Ø&’ña ðd �L‰LŒN؈ ùó_ùó>ùò  øô,+òñ ð ûð �L‰L�NúsdÁ1%K#Â/KÃA.K#Ä4AK#Å;2K Æ-A&K#È(KÈ;AK#Ê KÊ' K#ËK#Ë K ËK#ËK Ë K#Ë#K5c ób—|jsy|j€:ttjj |jdd«d«|_|jj tjd||j|«fz««|jj«y)NrÖó hg-shamapsabs%s %d ) rõrörrPrQr¯ÚwriterÚ tonativeeolrBr)rdr@Údestrevs r"Ú convertedzsvn_source.converted{sƒ€Ø�wŠwØ Ø �>‰>Ð !Ü!Ü—‘— ‘ ˜TŸW™W g¨|Ó<¸eóˆDŒNð �‰×ÑÜ × Ñ ˜Z¨7°D·K±KÀÓ4DÐ*EÑEÓ Fô ð �‰×ÑÕr!cóB—d|j|xs |j|fzS)Ns svn:%s%s@%d)rCr)rdrBrs r"rzsvn_source.revid‡s!€Ø §¡¨FÒ,A°d·k±kÀ6Ð JÑJÐJr!có<—t|jd«d«S)Nr8rh)r=r>©rdr@s r"rBzsvn_source.revnumŠs€Ü�3—9‘9˜T“? 2Ñ&Ó'Ð'r!có8‡—dˆfd„ }|j‰j«s‰jjd|z«y|€)tj j ‰j «} ‰jd«}tj j‰j |jd«|«}‰j|«|sttd«||fz«‚||||j«\}}|€-|||«\}}|€‰jjd|z«y|j‰j«s‰jjd|z«y‰j||«S#tjj$rd}YŒÎwxYw) a]Find the latest revid affecting path, up to stop revision number. If stop is None, default to repository latest revision. It may return a revision in a different module, since a branch may be moved without a change being reported. Return None if computed module does not belong to rootmodule subtree. Ncó •—‰ j|g||xsd«} |D]ƒ}|\}}}}} |€|rnu|�||krnl|D]e} |j| «r|| jsŒ$|| j|t| «dz} ‰ jj d|| |fz«| }ŒƒŒ…sd}|f|j «S#|j «wxYw)Nr s#branch renamed from %s to %s at %d )rIr?rar<r�Údebugr¡) rQr�r:rNržrqrBrnr,roreÚnewpathrds €r"Ú findchangesz&svn_source.latest..findchanges–sèø€Ø—\‘\ 4 &¨%°²¸Ó;ˆFð Û#�EØ;@Ñ8�E˜6 6¨4°Ø�|©ñØÐ'¨F°dªNÙã"˜Ø#Ÿ™¨qÔ1¸¸q¹×9OÒ9OØ$Ø"'¨¡(×"8Ñ"8¸4ÄÀAÃÀ¸>Ñ"I˜ØŸ™Ÿ ™ ØCØ# W¨fÐ5ñ6ôð '˜Ùñ#ð$ñ&Ø!�Fؘt�|à— ‘ •ø�— ‘ •ús ›BB;Â;C signoring foreign branch %r r!r9s%s not found up to revision %dsignoring empty branch %r rW)r?rèr�rirJrzrHr8ÚstatrîrMrOr3rÚ created_revr)rdrQr:rkrçÚdirentrBÚrealpaths` r"rñzsvn_source.latest�scø€õ ð8�‰˜tŸ™Ô/à �G‰G�M‰MÐ9¸DÑ@Ô AØà ˆ<Ü—6‘6×+Ñ+¨D¯G©GÓ4ˆDð ØŸ™ sÓ+ˆJÜ—V‘V—[‘[ §¡¨$¯*©*°TÓ*:¸DÓAˆFØ �M‰M˜*Ô %ñÜ!ÜÐ3Ó4¸¸d°|ÑCóð ñ' t¨T°6×3EÑ3EÓFш�Ø ˆ>ñ +¨4°Ó6Ñ ˆF�H؈~Ø—‘— ‘ Ð;¸hÑFÔGØà×"Ñ" 4§?¡?Ô3Ø �G‰G�M‰MÐ9¸HÑDÔ EØØ�z‰z˜& (Ó+Ð+øô7�x‰x×+Ñ+ò ØŠFð úsÁ.AE7Å7FÆFcó—|j|k(r|S|jt|«z}|j}|€d}|jj d|z«t j j|j |«||_|S)z:Reparent the svn transport and return the previous parent.r!sreparent to %s )rçrårHr�rirJrzr8)rdrÚsvnurlrçs r"r8zsvn_source.reparentÚsr€à �?‰?˜fÒ $؈MØ—‘¤ f£ Ñ-ˆØ—_‘_ˆ Ø Ð ØˆJØ �‰� ‰ Ð)¨FÑ2Ô3Ü �‰�‰˜Ÿ™ Ô(Ø ˆŒØÐr!cór —t«t«}}i}t|«dd\}}||jk7r"||_|j|j«|jj t d«t d«t|«¬«} t|«D�]é\} \} } | j| | ¬«|j| «} |j| |«}|tjjk(rÂ|j|j!| ««| j"r|sŒŒt|d«dd\}}| j$|krŒ°|j| j"|«}|sŒÏ|jj'd| || j$fz«|j!|«||j!| «<�Œ|dk(�r\|jj'd| j$z«t|d«dd\}}|d z| z}|j| ||«}|tjjk(r"|j|j!| ««�Œ»|tjj(k(r‡|j+d «}| j+d «}|j-||«}|D]L}|j/||«}|jd |z|«}|sŒ-|j|j!|««ŒN�Œ_|jj'd || fz«�Œ�|tjj(k(s�Œ | j0d k(r�Œ±| j0d k(rÒ|rÐt|d«dd\}}|j| ||«}|tjjk(r!|j|j!| ««nk|tjj(k(rN|j-||«D]9}|jd |z«}|sŒ|j|j!|««Œ;|j-| |«D]9}|jd |z«}|sŒ|j|j!|««Œ;| j"r|s�Œðt|d«dd\}}| j$|kr�Œ|j| j"|«}|s�Œ5|jj'd | || j$fz«|j-| j"| j$«}|D]_}|jd |z|«}|sŒ| |t|«dz}|j|«}|j!|«||j!|«<Œa�Œì| j3«|j|«t5|«||fS)Nr sscanning pathsspaths)ÚunitÚtotal)Úitemrscopied to %s from %s@%d s gone from %d r9s unknown path in revision %d: %s óMóRsmark %s came from %s:%d )r&rErr8r�Ú makeprogressrr<Ú enumerateÚupdateÚ getrelpathrrJrMr%rKÚrecoderarbrirrîÚ _iterfilesÚreplacercÚcompleteÚlist)rdr@rqr*Úchangedr$r+Ú new_modulerBÚprogressr4rQÚentÚ entrypathrZÚpmoduleÚprevnumraÚ parentpathÚfromkindÚorootÚnrootÚchildrenÚ childpathÚpkindÚ copyfrompathÚ copytopaths r"r#zsvn_source.expandpathsçs€Ü›5¤#£%�ˆØˆä% c›]¨1¨2Ð.ш �FØ ˜Ÿ™Ò $Ø$ˆDŒKØ �M‰M˜$Ÿ+™+Ô &à—7‘7×'Ñ'Ü ÐÓ ¤q¨£{¼#¸e»*ð(ó ˆô(¨×.‰NˆA‰{��cØ �O‰O˜A DˆOÔ )ØŸ™¨Ó-ˆIà—?‘? 9¨fÓ5ˆDØ”s—x‘x×-Ñ-Ò-Ø— ‘ ˜DŸK™K¨ Ó2Ô3Ø×(Ò(±Øô$,¨G°A©JÓ#7¸¸Ð#;Ñ �˜Ø×#Ñ# gÒ-ØØ $§¡°×0AÑ0AÀ7Ó K� Ù$ØØ—‘— ‘ Ø0Ø  -°×1AÑ1AÐBñCôð26·±¸]Ó1K��t—{‘{ 9Ó-Ó.ؘ“Ø—‘— ‘ Ð/°#×2BÑ2BÑBÔCÜ#+¨G°A©JÓ#7¸¸Ð#;Ñ �˜Ø$ t™^¨iÑ7� ØŸ?™?¨9°g¸wÓG�àœsŸx™x×5Ñ5Ò5Ø—K‘K § ¡ ¨IÓ 6Ö7ؤ§¡×!6Ñ!6Ò6Ø&×,Ñ,¨TÓ2�EØ ŸJ™J tÓ,�EØ#Ÿ™¨u°gÓ>�HÛ%-˜ Ø$-×$5Ñ$5°e¸UÓ$C˜ Ø$(§O¡O°D¸9Ñ4DÀgÓ$N˜ Ú$Ø#ŸK™K¨¯ © °IÓ(>Õ?ò &.ð —G‘G—M‘MØ<Àȸ~ÑMö𜟙×.Ñ.Ô.Ø—:‘: Ò%ñØ—:‘: Ò%©'ô(0°¸± Ó';¸A¸BÐ'?Ñ$�G˜WØ ŸO™O¨I°wÀÓH�Eؤ§¡× 6Ñ 6Ò6ØŸ ™  D§K¡K° Ó$:Õ;ؤ#§(¡(×"7Ñ"7Ò7ð*.¯©¸À'Ö)J˜IØ(,¯©¸¸yÑ8HÓ(I˜IÚ(Ø '§ ¡ ¨D¯K©K¸ Ó,BÕ Cð*Kð "&§¡°°vÖ!>�IØ $§¡°°yÑ0@Ó A�IÚ ØŸ ™  D§K¡K° Ó$:Õ;ð"?ð ×(Ò(±Ùô$,¨G°A©JÓ#7¸¸Ð#;Ñ �˜Ø×#Ñ# gÒ-ÙØ#Ÿ™¨s×/@Ñ/@À'ÓJ� Ù#ÙØ—‘— ‘ Ø0ؘ\¨3×+;Ñ+;Ð<ñ=ôð Ÿ?™?¨3×+<Ñ+<¸c×>NÑ>NÓO�Û!)�IØ $§¡°°yÑ0@À'Ó J�IÙ$Ø Ø!%¨ ´#°lÓ2CÐ2EÐ(FÑ!F�JØ!%§¡°Ó!<�JØ6:·k±kÀ)Ó6L�F˜4Ÿ;™; zÓ2Ò3ò "*ði/ðx ×ÑÔØ�‰�wÔÜ�W“ ˜w¨Ð/Ð/r!cóÞ‡‡—|‰kr‰|c}Šd‰_ˆˆfd„}‰jjtd«‰j|‰fz« d}d}‰j ‰jg|‰«} |D]^}|\}} } } } | ‰j krd}nC|s(‰jjd| z«|xs| dk(}ŒH||| | | | «\} }| r| }|sŒ^n|j«|sp|rm|js` ‰j|j«}|dkDr>‰j‰j|dz «}|r|jj|«yyyyyy#|j«wxYw#t$rYywxYw#tj j"$rS}|j$\}}|tj j&k(r!t)j*td«‰z«‚‚d}~wwxYw) Nc󾕗‰jjd|t|«fz«d}‰j|«}|‰jvs|‰krd|fSg}t |j ««}|D�� cgc]%\}} ‰jj|«sŒ"|| f‘Œ'} }} | rÌ| d\} } | jr�d}| j‰jt| «dz} ‰j| | j«}|�st|«dd\}}|‰jk\rS|g}‰jjtd«‰j||fz«n‰jjd«g}|D]*\} } ‰j!| «€Œ|j#| | f«Œ,t%|«}‰jj'd d «rt)|d «}|r‰j+|«}nd }|r‰j+|«}nd } ‰jj-d «d}|‰j.k(rd}t3|t5j6|d«||||¬«}|‰j|<||j8f‰j:|<‰j<r0‰j<j8s|g‰j<j8dd|‰_||fScc} }w#t0$rd}YŒ©wxYw)zlReturn the parsed commit object or None, and True if the revision is a branch root. s!parsing revision %d (%d changes) FNrhTr s$found parent of branch %s at %d: %s s)no copyfrom path, don't know what to do. r×s localtimezonerr!r9s%Y-%m-%d %H:%M:%S %1%2)rnr,Údescr*rr@)r�rir<rrérrjrr?rarñrbrErðrrr{r¨r1Ú configboolÚmakedatetimestampr|r>rïÚ IndexErrorÚcommitr r+r*rqÚ child_cset)rmrBrnr,roÚbranchedr@r*rer/Ú root_pathsrQr„rjÚprevidrçr‡rqÚlogrÚcsetrdÚ to_revnums €€r"Ú parselogentryz2svn_source._fetch_revisions..parselogentryYsÚø€ð �G‰G�M‰MØ5Øœ3˜z›?Ð+ñ,ô ð ˆHØ—*‘*˜VÓ$ˆCð�d—l‘lÑ" f¨yÒ&8ؘX�~Ð%àˆGô   × 0Ñ 0Ó 2Ó3ˆJá#-ôÙ#-™4˜1˜a°·±×1GÑ1GÈÕ1J��A’ :ð ññØ& r™N‘ ��cØ×$Ò$Ø#�HØ!×/Ñ/°$·+±+¼cÀ$»i¸kÐ2JÑJ�Gà!Ÿ[™[¨°#×2BÑ2BÓC�FØÐ)Ü.6°vÓ.>¸q¸rÐ.BÑ+˜  GØ" d§m¡mÒ3Ø'- h˜GØ ŸG™GŸL™LÜ !Ð"JÓ KØ#'§;¡;°¸Ð"Dñ!Eõð —G‘G—M‘MÐ"OÔPàˆEã'‘ ��cØ—?‘? 4Ó(Ð0ØØ— ‘ ˜d C˜[Õ)ð(ô   Ó%ˆDØ�w‰w×!Ñ! *Ð.>Ô?Ü(¨¨a©Ó1�áØ—k‘k 'Ó*‘à�áØŸ™ VÓ,‘à�ð ØŸ™×*Ñ*¨4Ó0°Ñ4�ؘTŸ^™^Ò+Ø!�FôØÜ×%Ñ% dÐ,EÓFØØØØô ˆDð!%ˆD�L‰L˜Ñ ð % d§l¡lÐ3ˆD�J‰J�s‰OØ�Š t§¡×'>Ò'>Ø.1¨U�—‘×'Ñ'©Ð*Ø"ˆDŒOؘ�>Ð !ùóCøô\ò Ø’ð úsÁ5#KÂKÈ/KË KËKs-fetching revision log for "%s" from %d to %d FTsrevision %d has no entries rr ssvn: branch has no revision %s)r˜r�rrrrIrðrir¡r*rBr@rñr¨r3rJrMrOr‘ÚSVN_ERR_FS_NO_SUCH_REVISIONrrŠ)rdÚ from_revnumržrŸÚ firstcsetÚ lastonbranchrNržrqrBrnr,ror�Ú firstrevnumrñÚxxx_todo_changemer‡Únums` ` r"r9zsvn_source._fetch_revisionsSsúù€Ø ˜Ò "Ø%.° Ð "ˆK˜àˆŒõU "ðn �‰� ‰ Ü Ð?Ó @Ø�{‰{˜K¨Ð3ñ 4ô ð , ؈IØ ˆLØ—\‘\ 4§;¡; -°¸iÓHˆFð Û#�EØ;@Ñ8�E˜6 6¨4°Ø § ¡ Ò-Ø'+˜ ÙÙ ØŸ™Ÿ ™ Ð&EÈÑ&NÔOð(4Ò'B°vÀ±{˜ Ø Ù)6ؘv v¨t°Wó*Ñ&�D˜,ñØ$(˜ Ú#Ùð#$ð&— ‘ ”á¡I°i×6GÒ6GðØ"&§+¡+¨i¯m©mÓ"<�KØ" Q’Ø!%§¡¨T¯[©[¸+ȹ/Ó!J˜Ù!Ø%×-Ñ-×4Ñ4°VÕ<ð"ð'ð 7H I�<øð— ‘ •ûô'òÙðûä�x‰x×+Ñ+ò Ø+×0Ñ0‰KˆT�3Ø”c—h‘h×:Ñ:Ò:Ü—k‘kÜÐ7Ó8¸9ÑDóðð ûð  úsWÁ"E<Á2AEÃEà E<Ã6AE-ÅE*Å*E<Å- E9Å6E<Å8E9Å9E<Å<G,ÆAG'Ç'G,cóÚ—||jvry t|«dd\}}|j|k7r"||_|j|j«t «}t j j|j |||«}|j«}|j«t|t«r|d}d|vxrdxsd}d|vxrdxs|}|dk(r!d } |j#| «r|t%| «d}||fS#t jj$rM} t jjt jjf} | j | vrYd} ~ y‚d} ~ wwxYw) NrÚr rhósvn:executableóxr!s svn:specialólslink )r$rErr8ÚstringiorJrzÚget_fileÚgetvaluer¡Ú isinstancer€rMrOÚSVN_ERR_FS_NOT_FOUNDÚSVN_ERR_RA_DAV_PATH_NOT_FOUNDÚapr_errr?r<) rdÚfiler@r‚rBÚioÚinfor¼Úmoder/ÚnotfoundÚ link_prefixs r"Úgetfilezsvn_source.getfileãsI€à �4—<‘<Ñ Øð Ü!)¨#£¨q¨rÐ!2Ñ ˆJ˜Ø�{‰{˜jÒ(Ø(�” Ø— ‘ ˜dŸk™kÔ*Ü“ˆBÜ—6‘6—?‘? 4§7¡7¨D°&¸"Ó=ˆDØ—;‘;“=ˆDð �H‰HŒJܘ$¤Ô%ؘB‘x�Ø%¨Ð-Ò7°4Ò>¸3ˆDØ" dÐ*Ò4°Ò<¸ˆDð �4Š<Ø"ˆKØ�‰˜{Ô+ØœC  Ó,Ð.Ð/�Ø�TˆzÐøô�x‰x×+Ñ+ò ä—‘×-Ñ-Ü—‘×6Ñ6ðˆHð�y‰y˜HÑ$Ü!Ø ûð ús‘CDÄE*ÄAE%Å$E%Å%E*cóx‡—‰jd«Štjj«}dj |j t ‰«g«jd«}tjj|t|«d|j|«}‰r‰dz Šˆfd„|j«D«S)z3Enumerate all files in path at revnum, recursively.r9Tc3ó|•K—|]3\}}|jtjjk(r‰|z–—Œ5y­wrW)rZrJrMr%)Ú.0rer/rQs €r"Ú z(svn_source._iterfiles.. s7øèø€ð á'‘��1Ø�v‰vœŸ™×/Ñ/Ò/ð�A�XÙ'ùsƒ9<) rîrJrMÚPoolr¯rårHrKr r]rãrj)rdrQrBrprr-s ` r"r}zsvn_source._iterfilessŒø€à�z‰z˜$ÓˆÜ�x‰x�}‰}‹ˆØ— ‘ ˜4Ÿ<™<¬¨t«Ð5Ó6×<Ñ<¸TÓBˆÜ—*‘*—-‘- ¤v¨f£~°t¸T¿X¹XÀtÓLˆÙ Ø �D‰LˆDó àŸ ™ œó ð r!cóB—|€ |j}|j|«r:|jd«t|«d}|jd«r|ddS|dk(r|S|jj dt j|«t j|«fz«y)Nr9r r!s%r is not under %r, ignoring )rr?r r<r�rirr)rdrQrÚrelatives r"r{zsvn_source.getrelpaths›€Ø ˆ>Ø—[‘[ˆFð �?‰?˜6Ô "Ø—{‘{ 4Ó(¬¨V«¨Ð7ˆHØ×"Ñ" 4Ô(Ø  �|Ð#ؘS’Ø�ð �‰� ‰ Ø -Ü×Ñ Ó%¤x×'7Ñ'7¸Ó'?Ð@ñ Aô ðr!có—|�|jd«}|dz|z} tjj|j|j d«|«|�|j«SS#|�|j«wwxYw)Nr!r9)r8rJrzÚ check_pathrî)rdrQrBrrçs r"rzsvn_source._checkpath)s}€Ø Ð ØŸ™ sÓ+ˆJؘD‘= 4Ñ'ˆDð *ô—6‘6×$Ñ$ T§W¡W¨d¯j©j¸Ó.>ÀÓGàÐ!Ø— ‘ ˜jÕ)ð"øˆvÐ!Ø— ‘ ˜jÕ)ð"ús �9A+Á+BcóV—g}|D]E}|jd«s|jdz|z}|j|jd««ŒG|j||||||g} |j j dd«st| ŽSt| «} tj«} dtj| «z} tj| «\} }| j| « | j«t'|«S#t$rt!j"t%d««‚wxYw)Nr9r×ssvn.debugsvnlogs%s debugsvnlogr™)r?rr¨rîrår�r”r¥Ú encodeargsr Ú hgexecutableÚ shellquoteÚpopen2r`r¡r|rrŠrr”)rdrqr�r‚rƒr„r…Úrelpathsrer‘ÚargÚhgexeÚcmdÚstdinr—s r"rIzsvn_source._getlog5s€ðˆÛˆAØ—<‘< Ô%Ø—K‘K $Ñ&¨Ñ*�Ø �O‰O˜AŸG™G D›MÕ *ðð �L‰LØ Ø Ø Ø Ø "Ø ð ˆð�w‰w×!Ñ! *Ð.@ÔAÜ" DÐ)Ð )ܘӈÜ×%Ñ%Ó'ˆØ¤(×"5Ñ"5°eÓ"<Ñ<ˆÜ Ÿ™¨Ó,‰ ˆˆvØ � ‰ �CÔð Ø �K‰KŒMô˜Ó Ð øôò Ü—+‘+Üð1óóð ð ús Ã%DÄ(D(rW)s splicemaprª)r4r5r6rfrÿrrr®r r0r2r6r<rBrDr]rcrrBrñr8r#r9r¸r}r{rrIÚ __classcell__)rüs@r"rÓrÓÎsšø„õ~ò@'ò6ò!ò òRòhò,&ò %ò ó, òAòhòT óKò(óK,òZ òj0òXNò`òB  óó. *ð"Ø#Ø!÷*!r!rÓs‡#!/bin/sh REPOS="$1" REV="$2" USER="$3" PROPNAME="$4" ACTION="$5" %(rules)s echo "Changing prohibited revision property" >&2 exit 1 cóz—g}|D]\}}|jd||fz«Œtddj|«izS)Ns>if [ "$ACTION" = "%s" -a "$PROPNAME" = "%s" ]; then exit 0; fisrulesó )r¨Úpre_revprop_change_templater¯)Úprop_actions_allowedÚrulesrcÚpropnames r"Úgen_pre_revprop_change_hookrÓqsQ€Ø €EÛ0ш�Ø � ‰ ð#ð�xÐ ñ  !õ ð1ô '¨(°E·J±J¸uÓ4EÐ)FÑ FÐFr!cóü—eZdZejdej «Zejdej «Zd„Zd„Z d„Z d„Z d„Z d„Z d „Zed „«Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zy)Úsvn_sinksCommitted revision (\d+).sRepository UUID:\s*(\S+)có\—|jr tj|j«yyrW)rõrPÚchdirr¢s r"Úprerunzsvn_sink.prerun‚s€Ø �7Š7Ü �H‰H�T—W‘WÕ ð r!có\—|jr tj|j«yyrW)rõrPr×Úcwdr¢s r"Úpostrunzsvn_sink.postrun†s€Ø �7Š7Ü �H‰H�T—X‘XÕ ð r!cóX—tjj|jd|«S)NrÖ©rPrQr¯rõ)rdrs r"r¯z svn_sink.joinŠs€Ü�w‰w�|‰|˜DŸG™G W¨dÓ3Ð3r!có$—|jd«S)Nr_©r¯r¢s r"Ú revmapfilezsvn_sink.revmapfile�s€Ø�y‰y˜Ó&Ð&r!có$—|jd«S)Ns hg-authormaprßr¢s r"Ú authorfilezsvn_sink.authorfile�s€Ø�y‰y˜Ó)Ð)r!cóª—tj||||«tj||d«g|_g|_g|_g|_d|_tj«|_ d}tjjtjj|dd««r7tjj|«|_|j!d«�nÞt#j$d|«�s!tjj|«}tjj'tjj)|««rÆtjj+tjj|dd««sX|j-t/d «tjj1|«z«t|d «j!d |«|}t3j4|«}|j7d «sd |z}d |z}tjjtj«tjj1|«dz«}|j-t/d«tjj1|«z«|j!d||«||_t9j:|j«|_t9j:|j«|_tA||jd««|_!t3jD|j«rt2jF|_$nd|_$|rŸgd¢}|jJjMdd«r|jOd«tjj|dd«}tQ|d«}|jStU|««|jW«t3jX|dd«|j!d«} |jZj%| «j]d«j_«|_0y)NssvnFrÖsentriessupdates"^(file|http|https|svn|svn\+ssh)://r­sfs-types!initializing svn repository '%s' ssvnadminscreater9sfile://s-wcs#initializing svn working copy '%s' scheckouts hg-childmap))rvssvn:log)rGóhg:convert-branch)rGóhg:convert-revr×ósvn.dangerous-set-commit-dates)rvósvn:dater¬spre-revprop-changeswbTsinfor )1Úconverter_sinkrfÚ commandlineÚdeleteÚsetexecÚdelexecr+rõrÚgetcwdrÚrPrQÚisfiler¯roÚrun0r>ÚsearchrRÚdirnamer®ÚstatusrÚbasenamerrSr?Úvfsmodr rºÚwopenerÚmapfileÚchildmapÚ checkexecÚisexecÚis_execr�r”r¨rr`rÓr¡ÚsetflagsÚuuid_reÚgrouprîrC) rdr�r÷rQÚcreatedÚwcpathrÐÚhookrtÚoutputs r"rfzsvn_sink.__init__“s€ä×Ñ  b¨(°DÔ9Ü×јT 2 vÔ.؈Œ ؈Œ ؈Œ ؈Œ ؈ŒÜ—?‘?Ó$ˆŒàˆÜ �7‰7�>‰>œ"Ÿ'™'Ÿ,™, t¨W°jÓAÔ BÜ—g‘g×&Ñ& tÓ,ˆDŒGØ �I‰I�iÖ ä—9‘9ÐCÀTÕJÜ—w‘w×'Ñ'¨Ó-�Ü—7‘7—=‘=¤§¡§¡°Ó!6Ô7ÜŸ7™7Ÿ>™>ÜŸ™Ÿ ™  T¨5°*Ó=ô🠙 ÜÐCÓDÜ Ÿg™g×.Ñ.¨tÓ4ñ5ôô$ B¨ Ó4×9Ñ9¸)ÀTÔJØ"&˜ÜŸ=™=¨Ó.�DØŸ?™?¨4Ô0Ø# d™{˜Ø%¨Ñ,�Dä—W‘W—\‘\Ü—‘Ó!¤2§7¡7×#3Ñ#3°DÓ#9¸FÑ#BóˆFð �I‰IÜÐ9Ó:Ü—'‘'×"Ñ" 6Ó*ñ+ô ð �I‰I�k 4¨Ô 0àˆDŒGÜ—j‘j §¡Ó)ˆŒ Ü—z‘z $§'¡'Ó*ˆŒ Ü  D§I¡I¨nÓ$=Ó>ˆŒ Ü �>‰>˜$Ÿ'™'Ô "ÜŸ;™;ˆD�LàˆDŒLá ò$Ð ð �w‰w×!Ñ!ØÐ=ôð%×+Ñ+Ð,?Ô@ä—7‘7—<‘< ¨Ð3HÓIˆDÜ�d˜EÓ"ˆBØ �H‰HÔ0Ð1EÓFÔ GØ �H‰HŒJÜ �M‰M˜$  tÔ ,à—‘˜7Ó#ˆØ—L‘L×'Ñ'¨Ó/×5Ñ5°aÓ8×>Ñ>Ó@ˆ� r!cóV—tjj|jg|¢­ŽSrWrÝ)rdÚnamess r"Úwjoinzsvn_sink.wjoinÛs€Ü�w‰w�|‰|˜DŸG™GÐ, eÒ,Ð,r!có—t«}|jddd¬«}tjjj |«}|j d«D]ƒ}|jD]r}|j|jk7s|jdk7rŒ,djd„|jD««}|jtj|««ŒƒŒ…|S)NslsT)Ú recursiveÚxmlržrÚc3óhK—|]*}|j|jk(sŒ|j–—Œ,y­wrW)ÚnodeTypeÚ TEXT_NODEr¼)r»Úcs r"r¼z$svn_sink.manifest..ês'èø€ðÙ$0˜q°A·J±JÀ!Ç+Á+Ó4M�A—F•F¡Lùs‚2¡2)r&rïrÚdomÚminidomÚ parseStringÚgetElementsByTagNameÚ childNodesr Ú ELEMENT_NODEÚtagNamer¯rKrÚ unitolocal)rdÚmrÚdocr/r.rs r"Úmanifestzsvn_sink.manifestÞsº€ô ‹EˆØ—‘˜5¨D°d�Ó;ˆÜ�g‰g�o‰o×)Ñ)¨&Ó1ˆØ×)Ñ)¨'Ö2ˆAØ—\”\�Ø—:‘: §¡Ò/°1·9±9ÀÒ3FØØ—w‘wñØ$%§L¢Lóó�ð—‘”h×)Ñ)¨$Ó/Ô0Ùñ"ð3ðˆr!cóÈ—d|vr|jj||«y tjj |j |««rtj |«|jrPd}tjj|j |««r |j|j |««}|jj||«|jrjr d|vr;|jj|«nd|vr|jj|«tj|j |«dd|v«yy#t$rYŒúwxYw)NrªFr©)rõÚsymlinkrPrQÚislinkrÚunlinkÚOSErrorrúr®r`rìr¨rërrû)rdÚfilenameÚflagsr¼Úwasexecs r"Úputfilezsvn_sink.putfileös€Ø �5‰=Ø �L‰L× Ñ   xÕ 0ð Ü—7‘7—>‘> $§*¡*¨XÓ"6Ô7Ü—I‘I˜hÔ'ð�|Š|ð �Ü—7‘7—>‘> $§*¡*¨XÓ"6Ô7Ø"Ÿl™l¨4¯:©:°hÓ+?Ó@�Gà �L‰L× Ñ ˜x¨Ô .à�|Š|ÙØ 5Ñ(ØŸ ™ ×+Ñ+¨HÕ5à˜u‘}ØŸ ™ ×+Ñ+¨HÔ5Ü— ‘ ˜dŸj™j¨Ó2°E¸4À5¸=ÕIðøôò Ùð ús£AEÅ E!Å E!cóî—|j|«}tjj|«}|rwt j dtjj |«¬«\}}tj|«tj|«tj||« |jd||«|jj|«|r- tj|«tj|«yy#t$rYŒ#wxYw#|jj|«|r= tj|«n#t$rYnwxYwtj|«wwxYw)Nshg-copy-)ÚprefixÚdirscopy)rrPrQÚlexistsrÚmkstemprñr¡rÚrenamerïrrKr)rdrQrSÚwdestr®ÚfdÚtempnames r"Ú _copyfilezsvn_sink._copyfiles&€ð— ‘ ˜4Ó ˆÜ—‘—‘ Ó'ˆÙ Ü#×+Ñ+Ø"¬¯©¯©¸Ó(>ô‰LˆB�ô �H‰H�RŒLÜ �I‰I�hÔ Ü �I‰I�e˜XÔ &ð +Ø �I‰I�g˜v tÔ ,à �M‰M× Ñ ˜dÔ #ÙðÜ—I‘I˜eÔ$ô— ‘ ˜( EÕ*ð øôòÙðûð �M‰M× Ñ ˜dÔ #ÙðÜ—I‘I˜eÕ$øÜòÙðúä— ‘ ˜( EÕ*ð úsBÂ+DÃD Ä DÄDÄE4Ä7E Å E4Å EÅE4ÅEÅE4c󇇗t«}|D]uŠtjj|j ‰««r|j ‰«t ‰«Štˆˆfd„d«D]Š|j ‰d‰«ŒŒw|S)Ncó*•—‰jdd‰«S)Nr9r)râ)r5r4s€€r"rÅz"svn_sink.dirs_of..0sø€ !§'¡'¨$°°1Ô"5r!rh)r&rPrQrRrrKr<Úiter)rdr,Údirsr5r4s @@r"Údirs_ofzsvn_sink.dirs_of*sjù€Ü‹uˆÛˆAÜ�w‰w�}‰}˜TŸZ™Z¨›]Ô+Ø—‘˜” Ü�A“ˆAÜÔ5°rÖ:�Ø—‘˜˜2˜A˜•ñ;ð ð ˆ r!cóà—t|j|««D�cgc]}||jvsŒ|‘Œ}}|r0|jj|«|j |ddd¬«|Scc}w)NóaddT)Ú non_recursiveÚquiet)rr/rrzÚxargs)rdr,ÚdÚadd_dirss r"r6zsvn_sink.add_dirs4sm€ä˜dŸl™l¨5Ó1Ô2ó Ù2�!°a¸t¿}¹}Ò6LŠAÐ2ð ð ñ Ø �M‰M× Ñ  Ô *Ø �J‰J�x °tÀ4ˆJÔ H؈ùò  s �A+±A+có®—|D�cgc]}||jvsŒ|‘Œ}}|r/|jj|«|j|dd¬«|Scc}w)Nr1T)r3)rrzr4)rdr,r5s r"Ú add_fileszsvn_sink.add_files=sR€Ù!Ó<™E�q Q¨d¯m©mÒ%;’˜EˆÐ<Ù Ø �M‰M× Ñ  Ô 'Ø �J‰J�u˜f¨DˆJÔ 1؈ ùò =s …A™Acó"—||j|<yrW)r÷)rdÚparentÚchilds r"Úaddchildzsvn_sink.addchildDs€Ø %ˆ� ‰ �fÒr!có$—d|j|fzS)Ns svn:%s@%s)rCrfs r"rzsvn_sink.revidGs€Ø˜tŸy™y¨#Ð.Ñ.Ð.r!c óÜ —|D]"} |j|j| «cS|D]p\} } |j| | «\} } | €|jj | «Œ9|j | | | «| |vsŒQ|jj || | g«Œr|r=|jjt|jj|«««|D� cgc]} | d‘Œ }} t|j«}t|«}|j|j|j|«««|jr-|jD]\}}|j!||«Œg|_|jrO|j#|jd«|jD]} |jj%| «Œg|_|j|j'|j|«««|j(r$|j#|j(dd«g|_|j*r%|j#|j*ddd«g|_t-j.d¬«\}}t1j2|d «}|j5t7j8|j:««|j=« |j?d tAjB|jD«|d ¬ «} |jFjI|«jKd «}|jZr |j]dd|jZd|¬«|j^r/|j^dk7r |j]dd|j^d|¬«|jPjadd«rEtcjd|jf«}|ddf}|j]ddti|«d|¬«|D]} |jk| |«Œ|j|«t1jN|«S#t$rY�ŒÑ&>¸uÓ&EÓFÔ GÙ$Ó%™u˜!��1“˜uˆÐ%ä�d—k‘kÓ"ˆÜ˜%Ó ˆØ�‰�t—}‘} U×%5Ñ%5°gÓ%>Ó?Ô@Ø �;Š;ØŸ œ ‘��1Ø—‘˜q !Õ$ð$àˆDŒKØ �;Š;Ø �J‰J�t—{‘{ IÔ .Ø—[”[�Ø— ‘ ×$Ñ$ QÕ'ð!àˆDŒKØ�‰�t—~‘~ e×&6Ñ&6°wÓ&?Ó@ÔAØ �<Š<Ø �J‰J�t—|‘| ZÐ1BÔ C؈DŒLØ �<Š<Ø �J‰J�t—|‘| ZÐ1BÀDÔ I؈DŒLä"×*Ñ*°.ÔA‰ˆˆKÜ �Y‰Y�r˜4Ó ˆØ �‰”×!Ñ! &§+¡+Ó.Ô/Ø �‰Œ ð4 #Ø—Y‘YØÜ#×-Ñ-¨f¯m©mÓ<Ø Ø!ð óˆFð  HØ—n‘n×+Ñ+¨FÓ3×9Ñ9¸!Ó<�ð�zŠzØ—‘ØØ%Ø—J‘JØ Ø ð ôð�}Š} §¡°*Ò!<Ø—‘ØØ(Ø—M‘MØ Ø ð ôð�w‰w×!Ñ!ØÐ=ôô ×)Ñ)¨&¯+©+Ó6�ؘQ™ �|�ð—‘ØØÜ! $Ó'Ø Ø ð ôó"�Ø— ‘ ˜f cÕ*ð"à—:‘:˜c“?ä �I‰I�kÕ "øôyò Úð üò&øôF"ò HÙÙ)0˜7 1š:°gÑ=ôR �I‰I�kÕ "ðQ—‘— ‘ œQÐ:Ó;Ô<Ø—‘— ‘ ˜VÔ$Ü—k‘k¤!Ð$EÓ"FÓGÐGð  HûôV �I‰I�kÕ "úsI‡P3à QË2SÌ*QÌ,C1SÐ3 QÐ?QÑSÑSÑ3ASÓSÓS+cóL—|jjtd««y)Ns/writing Subversion tags is not yet implemented rÚ)r�r¹r)rdrs r"Úputtagszsvn_sink.puttags®s€Ø �‰� ‰ ”QÐJÓKÔLØr!có—yr"r rfs r"Úhascommitfrommapzsvn_sink.hascommitfrommap²s€ðr!cób—||jvrytjtd«|z«‚)NTs_splice map revision %s not found in subversion child map (revision lookups are not implemented))r÷rrŠrrfs r"Úhascommitforsplicemapzsvn_sink.hascommitforsplicemap·s<€ð �$—-‘-Ñ ØÜ�k‰kÜ ðDó ðñ  ó ð r!N)r4r5r6r>ÚcompileÚMrKrürØrÛr¯ràrârfrÚ propertycacherr r*r/r6r8r<rrOrQrSrUr r!r"rÕrÕ~s¤„Ø�— ‘ Ð8¸"¿$¹$Ó?€I؈b�j‰jÐ5°r·t±tÓ<€Gòòò4ò'ò*òFAòP-ðñóðò.Jò8+ò0òòò&ò/òb#òHòó  r!rÕrª)KrrrPrkr>Úxml.dom.minidomrÚmercurial.i18nrÚmercurial.pycompatrÚ mercurialrrrrr rôÚmercurial.utilsr r r rrr«rXr¶rGrér—rèÚconverter_sourcer‹rÃr•rörÝrÜrJÚ svn.clientÚsvn.coreÚsvn.raÚ svn.deltarÚwarningsÚfilterwarningsÚDeprecationWarningrMrOÚ ImportErrorrr#r)r-r1r}r3rErHrUr]r_rˆr’r”r€r¥r²r½rÍrÑrÓrÏrÓrÕr r!r"Úrgsèðó Û Û Û Û ÛåÝ#÷õ÷ñõ à �=‰=€Ø×"Ñ"€ Ø �‰€Ø �‰€à× Ñ € Ø �‰€Ø×&Ñ&€Ø×*Ñ*ÐØ × Ñ € Ø × Ñ € Ø×,Ñ,ÐØ �.‰.€Ø× Ñ € Ø �‰€ð ãÛÛÛÛõÛà€H×ÑØ˜Ð.@õð‡H�H× Ò ð€ òCò"4ò@òHô �iô òò61ò0ò0÷ñð ØØó,ò^ &÷ ñ ô>% �dô% òVò:ð4ØØ ñ €òKôxQ!Ð!ôQ!ðh Ðò GôD ˆ~˜{õD øðy)òØ ‚CðúsÃ,A F/Æ/F9Æ8F9