
    6hu/                       S r SSKJr  SSKrSSKJr  SSKJrJr  SSK	J
r
JrJrJrJrJr  0 r\R"                  " \5      rSr0 r\R(                  " \5      r\" SS	S
S9  \" SSSS\" S5      4SSS\" S5      4SSS\" S5      4SSS\" S5      4SSS\" S5      4SSS\" S5      4/SSS9S:S j5       rS;S  jr\" S!/ \" S"5      5      S# 5       r\" S$SSS\" S5      4/\" S%5      SS9S:S& j5       rS<S' jr\" S(S)S*S\" S*5      4S+S,S\" S,5      4SS-S\" S-5      4S.S/S\" S/5      4/S05      S1 5       r\" S2S3S4S\" S55      \" S65      4/\" S75      \R6                  S89S9 5       rg)=a  browse the repository in a graphical way

The hgk extension allows browsing the history of a repository in a
graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not
distributed with Mercurial.)

hgk consists of two parts: a Tcl script that does the displaying and
querying of information, and an extension to Mercurial named hgk.py,
which provides hooks for hgk to get information. hgk can be found in
the contrib directory, and the extension is shipped in the hgext
repository, and needs to be enabled.

The :hg:`view` command will launch the hgk Tcl script. For this command
to work, hgk must be in your search path. Alternately, you can specify
the path to hgk in your configuration file::

  [hgk]
  path = /location/of/hgk

hgk can make use of the extdiff extension to visualize revisions.
Assuming you had already configured extdiff vdiff command, just add::

  [hgk]
  vdiff=vdiff

Revisions context menu will now display additional entries to fire
vdiff on hovered and selected revisions.
    )annotationsN)_)nullrevshort)commandsobsoletepatchpycompat	registrarscmutils   ships-with-hg-core   hgk   paths   /usr/share/mercurial/hgk)defaults   debug-diff-tree   ps   patchs   generate patch   rs	   recursive   Ps   pretty   ss   stdin   Cs   copys   detect copies   Ss   search    s!   [OPTION]... NODE1 NODE2 [FILE]...T)	inferrepoc                  ^  SU 4S jjn US   (       al  T R                   R                  5       nU(       d  gUR                  [        R                  5      R                  S5      nUS   n[        U5      S:  a  US   nOSnUR                  U5      nU(       a  UR                  U5      nO UnUR                  R                  U5      S   nUS   (       a~  US	   (       a  [        T XS
5        [        R                  " X   U5      n[        R                  " T 5      n	SU	l        [        R                   " XX8U	S9n
U
 H  nT R#                  U5        M     OU" XX4S9  US   (       d  gGM]  )zdiff trees from two commitsNc           	     6  > Uc   eUc  / nX   R                  5       nX   R                  5       n[        R                  " X   U5      nU R                  XU5      n[	        U R
                  5      nUR                   H0  n	T
R                  S[	        XI   5      [	        XY   5      X4-  5        M2     UR                   H%  n	T
R                  SU[	        XY   5      X4-  5        M'     UR                   H%  n	T
R                  S[	        XI   5      XU	4-  5        M'     g )Ns   :100664 100664 %s %s M	%s	%s
s   :000000 100664 %s %s N	%s	%s
s   :100664 000000 %s %s D	%s	%s
)
manifestr   matchstatusr   nullidmodifiedwritenoi18naddedremoved)reponode1node2filesmmapmmap2mstemptyfuis             +/usr/lib/python3/dist-packages/hgext/hgk.py
__difftreedifftree.<locals>.__difftreeY   s	      =E{##%$$&MM$+u-[[q)dkk"ANN3>5?A9:  ANN3%/101 
 ANN3>5Q/0 r   Tstdin    r      r	   prettyr   )r   opts)r%   N)finreadlinerstripr
   	oslinesepsplitlenlookup	changelogparents	catcommitr   r   r	   difffeatureoptsgitdiffwrite)r,   r"   r#   r$   r%   r4   r.   liner(   diffoptschunkschunks   `           r-   difftreerH   I   s-    : =66??$D;;x11288>DGE4y1}QE"KK&EENN**51!4E=H~"d3/dk51A,,R0HHLZZU(KF   tE7G}; r   c                B   SU-   nUc  X   nU R                  S[        UR                  5       S   5      -  5        UR                  5        H  nU R                  SU-  5        M     UR	                  5       nUR                  5       R                  SS5      nU R                  SUR                  5       [        US   5      US   4-  5        S	UR                  5       ;   a%  U R                  S
UR                  5       S	   -  5        U R                  SUR                  5       -  5        U R                  SUR                  5       -  5        [        R                  " U[        R                  5      (       a&  UR                  5       (       a  U R                  S5        U R                  SUR                  5       -  5        US:w  a4  U R!                  SX8R                  SU5      R#                  5       4-  5        OU R!                  US-   5        U(       a  U R!                  S5        g g )N   
s   tree %s
r   s
   parent %s
    r   s   author %s %d %d
r2   s	   committers   committer %s
s   revision %d
s
   branch %s
s	   obsolete
s
   phase %s

   %s%s
)r   r   	changesetr>   datedescriptionreplaceuserintextrarevbranchr   	isenabledcreatemarkersoptphasestrrC   strip)	r,   r"   nprefixctxnlprefixprN   rO   s	            r-   r?   r?      s   v~H
{gNN<%(:";;<[[]
~)*  88:D//#++E37KNN'388:s47|T!W*MMNsyy{"
(399;|+DDENN#cggi/0NN>CJJL01$ 9 9::<<>>NN=)NN?S\\^34}
!4!4UH!E!K!K!MNN	
 	u$%
 r   s   debug-merge-bases   REV REVc                    UR                  U5      nUR                  U5      nUR                  R                  X#5      nU R                  [	        U5      S-   5        g)z"output common ancestor informationrJ   N)r<   r=   ancestorrC   r   )r,   r"   r#   r$   rZ   s        r-   basera      sI     KKEKKE-AHHU1Xr   s   debug-cat-files   [OPTION]... TYPE FILEc                   SnUS   (       aU  U R                   R                  5       nU(       d  gUR                  [        R                  5      R                  S5      u  p#SnO?U(       a  U(       d1  U R                  [        S5      5        [        R                  " U S5        U(       a  US:w  a  U R                  [        S	5      5        g
UR                  U5      n[        XXu5        US   (       aS  U R                   R                  5       nU(       d  gUR                  [        R                  5      R                  S5      u  p#OgU(       a  M  gg)zcat a specific revisionr   r0   Nr1          s(   cat-file: type or revision not supplied
s   cat-file   commits.   aborting hg cat-file only understands commits
r2   )r6   r7   r8   r
   r9   r:   warnr   r   help_r<   r?   )r,   r"   typerr4   r[   rD   rZ   s           r-   catfileri      s     FG}vv KK 2 2399$?	1GGABCDNN2{+
9GGAHIJKKN"A&=66??$DH$6$67==dCIT1 !r   c                  ^^ UU4S jnS n/ n/ n	/ n
Sn[        U5       H{  u  pUR                  S5      (       a8  TR                  USS  5      nU	R                  U5        U
R                  U5        MS  US:w  d  M[  U
R                  TR                  U5      5        M}     [        U
5       H  u  pUR                  [	        5       5        U/nX   R                  U5        U(       d  M=  UR                  S5      nX;   a  M!  TR                  R                  U5       H7  nUX   ;  a$  X   R                  U5        UR                  U5        UU	;   d  M7  M9     U(       a  Mw  M     U" 5        GH  u  nnUT;  a  M  TR                  R                  U5      nU" XU5      nU(       d  M<  SnU(       ai  TR                  R                  U5      nUS   TR                  :w  a  US[        US   5      -   -  nUS   TR                  :w  a  US[        US   5      -   -  nT(       d!  U R                  S	[        U5      U4-  5        GO)TS
:X  a/  U R                  S	[        U5      U4-  5        [        U TUSU5        OTR                  R                  U5      u  nn[        [        UUU45      u  nnn[        TR                  R                  UU45      u  nnUR!                  5       S   nU R                  SUUU4-  5        U" XU5      nU["        :w  a  US:  a  U R                  SUU4-  5      4  U" XU5      nU["        :w  a  US:  a  U R                  SUU4-  5        U R                  S5        U(       a  X:  a    g US-  nGM     g )Nc               3    >#    [        T5      n U nS/S-  nSn X1:  a  UnSnOX-  n[        U5       HR  nX-   U :  a  S/X4-
  -  X#U-
  S &   O<Tb'  X-   T;   a  TX-      X$'   X$   R                  5         MB  MD  X-   T;   d  MN  SX$'   MT     [        US-
  SS5       H+  nX$   S:w  d  M  X-   TS L=(       a    X$   =(       d    S 4v   M-     US:X  a  g M  7f)Nr   d   r2   )r;   rangerM   )countilrG   xfullr"   s        r-   	chlogwalkrevtree.<locals>.chlogwalk   s     D	C#Iy
5\5E>&'SEI%6AaikN#$#AE{( ' $  " 519b"-4195$d"2";qt"CtDD . Av- s   A:C!C&+Cc                    [        U 5      S:X  a  gSn[        [        U 5      5       H  nX!U   ;   d  M  USU-  -  nM     U$ )Nr   r2   )r;   rn   )ar	reachableshamaskrp   s        r-   is_reachablerevtree.<locals>.is_reachable  sE    r7a<s2wAl"Q   r   r      ^r2   s   HEADr   r1   rL   rd   rc   s   %s %s:%ss   %s:%s rJ   )	enumerate
startswithr<   appendsetaddpopr=   r>   noder   r   rC   r?   maprT   rN   r   )r,   argsr"   rs   maxnrr>   rt   r{   rx   	stop_sha1	want_sha1ro   rp   argsrZ   visitr^   r\   rz   	parentstrppp1p2hh1h2i1i2rN   s     ``                          r-   revtreer      s!   < IIIE D/>>$CG$AQQG^T[[-. " )$e		!A~^^++A.IL(L$$Q'LLO	> /	 e	 %" +3D=NN"I!44I^^++A.a5DKK'be!44Ia5DKK'be!44IeAh	%::;"eAh	%::;"dAw4>>11!4R!%!R5Bt~~11B8<Rxxz!}a67#I"==TAXHHY"d345#I"==TAXHHY"d34QJEE r   s   debug-rev-list   Hs   header   ts
   topo-orders   parents   ns	   max-counts   [OPTION]... REV...c           	     v    US   (       a  SnOSnU Vs/ s H  oUPM     nn[        XXUS   US   5        gs  snf )zprint revisionsheaderrd   N	max_countr>   )r   )r,   r"   revsr4   rs   rr   copys          r-   revlistr   ^  sF     H~t!AtDBd${"3T*5EF s   6s   view   ls   limits!   limit number of changes displayeds   NUMs   [-l LIMIT] [REVRANGE])helpcategoryc           	        [         R                  " U5      n[        R                  " UR                  5        SR                  UR                  5        VVs/ s H  u  pEU(       d  M  SXE4-  PM     snn5      nUR                  c  US-  nU R                  SS5      SUSR                  U5      4-  -   nU R                  SU-  5        U R                  US	S
9  gs  snnf )z start interactive history viewerr1   s   --%s %sNs   --hiddenr   r   s    %s %ss   running %s
s   hgk_view)
blockedtag)r
   byteskwargsoschdirrootjoinitems
filternameconfigdebugsystem)r,   r"   etcr4   kvoptstrcmds           r-   viewr   r  s     %DHHTYYYY

J+
aV+JKF+
))FG
$yFDIIcN3K'K
KCHH_s"#IIckI* Ks   C
&
C
)NNr5   )s   treer   F)__doc__
__future__r   r   mercurial.i18nr   mercurial.noder   r   	mercurialr   r   r	   r
   r   r   cmdtablecommand
testedwithconfigtable
configitemrH   r?   ra   ri   r   r   CATEGORY_CHANGE_NAVIGATIONr    r   r-   <module>r      s  : # 	   


H
%
 #
!!+.
 

' 		xq!234	|T1\?3	y$)-	xq{+	wa 012	y#q|, )==@B 		b!J-0 1 	
HdAhK()	Lld 		y$)-	}dAm$45	z4:/	|Q,0	 	G	G 	
Hc1ABAfINO33	
+
+r   