o ]LbU"@sddlmZddlmZddlmZddlmZmZddl m Z m Z ddl mZddlmZmZe e jGd d d eZGd d d eZd S))absolute_import)_)nullrev)errorrevlog) repositoryutil) storageutil) constantsrewritec@sLeZdZddZddZddZddZdGd d Zd dZddZ ddZ ddZ ddZ ddZ ddZddZdHddZdd Zd!d"ZdId#d$ZdId%d&Zd d'd'ejd fd(d)Zd ejd fd*d+Z 'dJd,d-Zd.d/Zd0d1ZdKd3d4Zd5d6Zd7d8Z dHd9d:Z!d;d<Z"d=d>Z#d?d@Z$dAdBZ% ' ' ' ' 'dLdCdDZ&dEdFZ'd S)MfilelogcCsNtj|tj|fdd|fdd|_||j_|jj|_|j}|dd|_ dS)N/sdataT)targetradix censorablesissue6528.fix-incoming) rrevlog_constants KIND_FILELOGjoin_revlogfilenamenullidoptionsget_fix_issue6528)selfopenerpathoptsr3/usr/lib/python3/dist-packages/mercurial/filelog.py__init__s  zfilelog.__init__cCs t|jSN)lenrrrrr __len__, zfilelog.__len__cC |jSr")r__iter__r$rrr r(/r&zfilelog.__iter__c CsD||jtfvr dSz |j|WdSttttjfy!YdSw)NFT) rrrrev TypeError ValueError IndexErrorr LookupErrorrnoderrr hasnode2s zfilelog.hasnoderNcC|jj||dS)N)startstop)rrevsrr2r3rrr r4<z filelog.revscC |j|Sr")rparentsr.rrr r8? zfilelog.parentscCr7r")r parentrevsrr)rrr r:Br9zfilelog.parentrevscCr7r")rr)r.rrr r)Er9z filelog.revcCr7r")rr/r;rrr r/Hr9z filelog.nodecCst|j||jjSr")r fileidlookupr display_idr.rrr lookupKs zfilelog.lookupcCr7r")rlinkrevr;rrr r?Pr9zfilelog.linkrevcC|j||Sr")rcommonancestorsheads)rnode1node2rrr rASzfilelog.commonancestorsheadscCr7r")r descendants)rr4rrr rEWr9zfilelog.descendantscCr@r")rheadsr5rrr rFZrDz filelog.headscCr7r")rchildrenr.rrr rG^r9zfilelog.childrencCr7r")r iscensoredr;rrr rHar9zfilelog.iscensoredcCr1N)_df)rrevisionrr/rJrrr rKdr6zfilelog.revisioncCr1rI)rrawdatarLrrr rMgr6zfilelog.rawdataFcCs|jj||||||dS)N) nodesorder revisiondataassumehaveparentrevisions deltamodesidedata_helpers)r emitrevisions)rnodesrNrOrPrQrRrrr rSjs zfilelog.emitrevisionsc Cs|jj||||||||dS)N)r/flags cachedelta)r addrevision) rrO transactionr?p1p2r/rUrVrrr rW|s zfilelog.addrevisioncCsl|r ttd|j||jrt|j|}|jj|||||dWdS1s/wYdS)Ns:revlog storage does not support missing parents write mode) addrevisioncbduplicaterevisioncb) rAbortrr_writingrr filter_delta_issue6528addgroup)rdeltas linkmapperrXr[r\maybemissingparentsrrr r`s" $zfilelog.addgroupcCr7r")r getstrippoint)rminlinkrrr rdr9zfilelog.getstrippointcCr@r")rstrip)rrerXrrr rfrDz filelog.stripcCs|jj|||dS)N) tombstone)rcensorrevision)rtrr/rhrrr riszfilelog.censorrevisioncCr'r")rfilesr$rrr rkr&z filelog.filescCst||Sr")r filtermetadatarKr.rrr readr6z filelog.readcCs6|s|dr t||}||||||}||S)Ns ) startswithr packmetarWr/)rtextmetarXlinkrYrZr)rrr adds  z filelog.addcCs t||Sr")r filerevisioncopiedr.rrr renamedr9zfilelog.renamedcCs<||}||rt||S||rdS|j|S)z#return the size of a given revisionr)r/rur#rmrHrsizerr)r/rrr rvs    z filelog.sizecCst||| S)zpcompare text with a given file revision returns True if text is different than what is stored. )r filedataequivalentrr/rprrr cmpsz filelog.cmpcCr7r")rverifyintegrity)rstaterrr r{r9zfilelog.verifyintegritycCs|jj|||||dS)N)exclusivefiles sharedfilesrevisionscount trackedsize storedsize)r storageinfo)rr}r~rrrrrr rszfilelog.storageinfocKs,t|ts td|jj||jfi|S)Nsexpected filelog to clone()) isinstancer rProgrammingErrorrclone)rrj destrevlogkwargsrrr rs  z filelog.clone)rN)NNr")NNF)rg)FFFFF)(__name__ __module__ __qualname__r!r%r(r0r4r8r:r)r/r>r?rArErFrGrHrKrMrCG_DELTAMODE_STDrSrREVIDX_DEFAULT_FLAGSrWr`rdrfrirkrmrsrurvrzr{rrrrrr r sd           r cs@eZdZdZfddZfddZfddZdd ZZS) narrowfilelogz0Filelog variation to be used with narrow stores.cstt|||||_dSr")superrr! _narrowmatch)rrr narrowmatch __class__rr r!s znarrowfilelog.__init__cs*tt||}|r||dsdS|S)Nr)rrrur)rr/resrrr rusznarrowfilelog.renamedcs8||}tt||rt||Stt||Sr")r/rrrur#rmrvrwrrr rvs znarrowfilelog.sizecCs&|||r |dkS|||kS)Nrg)rHr)rmryrrr rzsznarrowfilelog.cmp) rrr__doc__r!rurvrz __classcell__rrrr rs     rN) __future__ri18nrr/rrr interfacesrr interfaceutilutilsr revlogutilsr rr implementer ifilestorageobjectr rrrrr s     \