m RDc@sKdZdkTdklZdkTeeddefdYZdS(s dirstate.py - working directory tracking for mercurial Copyright 2005 Matt Mackall This software may be used and distributed according to the terms of the GNU General Public License, incorporated herein by reference. (t*(sgettexts(struct os time bisect stat util re errnotdirstatecBs@tZdZdZdZdZdZdZdZdZ d Z d Z d Z e d Zd ZdZdZdZdZdZdZdZdZdZdZdZedZdeideddZ deidddZ!ddZ"deiddZ#RS(Ns>cllllcCsU||_||_d|_||_d|_d|_h|_d|_ t |_ dS(Ni( topenertselftroottdirtytuitNonetmaptpltcopiest ignorefunctFalset blockignore(RRRR((t6/usr/lib/python2.4/site-packages/mercurial/dirstate.pyt__init__s        cCstii|i|S(N(tostpathtjoinRRtf(RR((RtwjoinscCs9ti}||ijodSn|t|idS(Nti(RtgetcwdtcwdRRtlen(RR((RR s c Cshdd<dd<dd<}d}|id}|g} | i|iih}xI| D]A}yg||RR?R'RBR<((RR<`s    .. 7cCs|io|indS(N(RRtwrite(R((Rt__del__ws cCs;y|i|SWn%tj o|i||SnXdS(N(RRtkeyt TypeErrortlazyread(RRI((Rt __getitem__{s  cCs|i||ijS(N(RRKRIR(RRI((Rt __contains__s cCs|i|iS(N(RRKR (R((Rtparentss cCs|ip d|_ndS(Ni(RR(R((Rt markdirtys cCs'|i|i||f|_dS(N(RRKROtp1tp2R (RRPRQ((Rt setparentss  cCs.y||dSWntj o dSnXdS(Nit?(RRIR0(RRI((RtstatescCs"|idjo|indS(N(RRRtread(R((RRKsc Cs|d |dd!g|_|i}|i}|i}ti} d}ti |}x|t |jo||} | |||| !} | d} | }|| } ||| !}d|jo#|id\}}|||||djo-tiitii|doq qnx9|D]1}titii||} | oqntii||}ti|} ti| ioltii||d}|| o|i |n| | o| jod| | fVq q| | oFi"| | od| | fVq | jod| | fVq qqWq WdS(NiRRs.hgRtmR(#R/tworktpopttopRtlistdirtnamesRR@tnormpathRRRtndRt bisect_leftthgRtisdirRRRtnptseentpRqRWRRRstdsRR5RR( R/RRRRRRRRRRW(RRRR(Rt findfiles\s>      $"   s.hgics#|jotSnd|sRRR(0RRRR'RR@tuniquetffRRRRRqRWtOSErrorR7RtnfR tfoundRRFR-RR"RfRgRRR1RRR8RRRRRstcmp1R>Rtsorted_R_R RRtkstk(RR'RRRRRRRRR7RRRR_RFRRRWR>RR((RRRRRRRZs\%  4 3$ '        cCsgggggf\}}}}}gg} } xB|i||d|D](\}} }y|| \}}}}WnKtj o?|o!|i| o|i| qJ|i| qJnX|djot} |p|yti|i| }Wn5tj o)} | itijond}nX|o|i | |o t!} qWn| o!|djo| i| qJqn|djo|pti|i| }n|djo3||i"jp||i#Ad@o|i| qr||i$jo|i| qrqJ|djo|i| qJ|djo|i| qJ|djo| i| qJqJW|||| | ||fS( NRRtnmRxii@taRn(%tlookuptmodifiedtaddedRRtremovedtdeletedRRR'Rt show_ignoredR;RFRWttype_RztsizettimeR0R<R5R"t nonexistentRRqRRR7RfRgRRR RoRsRp(RR'RRRRRRRRRR7RRFR;RRWRRzR((RtchangessN$       /   ($t__name__t __module__RXRRRR9R<RHRLRMRNRORdRRRTRKRcRURjRmRuRvRwR|RGRR RRR@talwaysRRRR(((RRs:   ;                 [N( t__doc__tnodeti18ntgettextR2t demandloadtglobalstobjectR(RR2((RRSs