\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c@@sdZddlmZddlmZddlmZmZmZm Z m Z m Z m Z iZ e je ZdZejZejZddgeded fgZed eeeed d ejd edZdS(s5close arbitrary heads without checking them out firsti(tabsolute_import(t_(t bookmarkstcmdutiltcontextterrortpycompatt registrartscmutilsships-with-hg-coretrtrevsrevision to checktREVsclose-head|close-headss[OPTION]... [REV]...t helpcategoryt inferrepoc @sfd}tj|tjdg7}tj|}|sstjtdng}x*j D]}|j j |qWt fd|D}x6|D].}||krtjtd|qqWt j|s+tjtdnidd6jSj@x8|D]0}|}|j}|d <||qYWWd QXWd QXd S( s close the given head revisions This is equivalent to checking out each revision in a clean tree and running ``hg commit --close-branch``, except that it doesn't change the working directory. The commit message must be specified with -l or -m. c@stjd|dgddgdddjddjdd}jd}j|t}tj|dg||j ||j dS( Ntparentsttexttfilest filectxfntusertdatetextratcommit( RtmemctxtNonetgett transactiont commitctxtTrueRtupdatet markcommittedtclose(R tcctxttrtret(Rtmessagetoptstrepo(s5/usr/lib64/python2.7/site-packages/hgext/closehead.pytdocommit/s R sno revisions specifiedc3@s|]}|jVqdS(N(R (t.0th(R$(s5/usr/lib64/python2.7/site-packages/hgext/closehead.pys Dss revision is not an open head: %ds)no commit message specified with -l or -mt1RtbranchNi(Rt byteskwargsttupleRRtrevrangeRtAbortRt branchmaptextendt branchheadstsetRt logmessagetwlocktlockR)( tuiR$trevsR#R%theadsR)R R ((RR"R#R$s5/usr/lib64/python2.7/site-packages/hgext/closehead.pyt close_branch"s2           N(t__doc__t __future__Rtmercurial.i18nRt mercurialRRRRRRRtcmdtabletcommandt testedwitht commitoptst commitopts2t commitopts3tCATEGORY_CHANGE_MANAGEMENTRR8(((s5/usr/lib64/python2.7/site-packages/hgext/closehead.pyts4