^c  dZddlmZddlmZmZmZmZmZm Z m Z iZ e j e Z dZ ejZejZddgededfgZe d eezezed e jd d ZdS)z5close arbitrary heads without checking them out first)_) bookmarkscmdutilcontexterror logcmdutilpycompat registrarsships-with-hg-corerrevsrevision to checksREVsclose-head|close-headss[OPTION]... [REV]...T) helpcategory inferrepoc fd}tj|tdgz }t j|}|s!t jtdg} D]*}|  |+fd|D}|D]*}||vr$t jtd|z+tj | s!t jtdddi 55|D].}|}|}| d <||/ d d d n #1swxYwYd d d n #1swxYwYd S) a 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 htj|dggddd}d}|d}t j|dg||||dS)Nsusersdate)parentstextfiles filectxfnuserdateextrascommitT) rmemctxget transaction commitctxrupdate markcommittedclose)revcctxtrretrmessageoptsrepos 1/usr/lib/python3/dist-packages/hgext/closehead.pydocommitzclose_branch..docommit2s~ $K'""'""      i ( (nnT4((T{C000 3  r sno revisions specifiedcDh|]}|S)r).0hr%s r& zclose_branch..Ns% * * *qT!W[[]] * * *r(s revision is not an open head: %ds)no commit message specified with -l or -msclose1sbranchNr)r byteskwargstuplerrrevrangerAbortr branchmapextend branchheadsr logmessagewlocklockbranch) uir%revsr$r'headsr9rrrr#s ` ` @@r& close_branchr>!s{""   % %DE$((62&& ' ''D  tT * *D 8k!566777 E..""// T%%f--.... * * * *E * * *ELL e  +a CDDsJKK K  T**G Kk!HIIJJJ t E tyy{{  CS AXXZZF%E)  HQKKKK   1s6 F6 2F F6F# #F6&F# 'F66F:=F:N)__doc__mercurial.i18nr mercurialrrrrrr r cmdtablecommand testedwith commitopts commitopts2 commitopts3CATEGORY_CHANGE_MANAGEMENTr>r*r(r&rIs1 <;  ) H % % #   ! fb!!$8"9"911V99EF  {*A3 6 6 6 6 6 r(