ó
    6°h¢  ã                  óê   • S r SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJrJrJrJrJrJrJrJr  SSKJrJr  SSKJr  0 r\R4                  " \5      r\" S	S
SS9  \" S	SSS9  \" S	SSS9  S rS rSS jrg)aƒ  changeset_obsoleted is a hook to send a mail when an
existing draft changeset is obsoleted by an obsmarker without successor.

Correct message threading requires the same messageidseed to be used for both
the original notification and the new mail.

Usage:
  [notify]
  messageidseed = myseed

  [hooks]
  txnclose.changeset_obsoleted =     python:hgext.hooklib.changeset_obsoleted.hook
é    )ÚannotationsN)Ú_)ÚencodingÚerrorÚ	formatterÚ
logcmdutilÚmailÚobsutilÚpycompatÚ	registrar)ÚdateutilÚ
stringutilé   )Únotifyó   notify_obsoletedó   domain)Údefaultó   messageidseedó   templatesA   Subject: changeset abandoned

This changeset has been abandoned.
c                óž  • U R                  SS5      =(       d    U R                  SS5      nU R                  SS5      =(       d    U R                  SS5      nU R                  SS5      n[        R                  " U5      n[        R                  " XU5      nU R                  5         [        R                  " XS5      n[        5       n	UR                   H^  u  p¦Uc  U	R                  U
5        M  UR                  SXbR                  5       5      n[        U5      (       d  MM  U	R                  U
5        M`     [        U	5      S:X  a  U R                  S	5        g UR                  UUR!                  5       U R                  S
S5      UR"                  UR"                  S9  U R%                  5       n [&        R(                  " U5      n[        R6                  " X#U5      US'   [        R6                  " X#US-   5      US'   [8        R:                  " [<        R>                  " SS95      US'   US   (       du  U R                  SS5      =(       d    U RA                  5       nSU;  d  SU;   a  URC                  U5      n[&        RD                  " XURF                  URH                  5      US'   SRK                  [M        U	5      5      US'   URO                  5       nU RQ                  SS5      (       a:  U RS                  U5        URU                  S5      (       d  U RS                  S5        g g U RW                  [Y        S5      UR                  5       -  5        [&        RZ                  " U [\        R^                  " US   5      S   U	UUR`                  S9  g ! [*        R,                   a/  n[.        R0                  " [2        R4                  " U5      5      eS nAff = f)Nr   r   s   notifyr   r   s   incomings
   %r and %d:r   s=   notify_obsoleted: no subscribers to selected repo and revset
s   webs   baseurl)ÚchangesÚbaseurlÚrootÚwebrootzIn-reply-tos
   -obsoletedz
Message-Ids   %a, %d %b %Y %H:%M:%S %1%2)ÚformatÚDateÚFroms   emails   fromó   @s
   @localhostz, ÚTos   testó   
s&   notify_obsoleted: sending mail for %d
é   )Úmbox)1Úconfigr   Úliteral_templatespecr   ÚchangesettemplaterÚ
pushbufferr   ÚnotifierÚsetÚsubsÚaddÚrevsÚrevÚlenÚdebugÚshowÚ	changesetr   Ú	popbufferr	   Ú
parsebytesÚemailerrorsÚMessageParseErrorr   ÚAbortr   ÚforcebytestrÚ	messageidr   Ústrfromlocalr   ÚdatestrÚusernameÚfixmailÚaddressencodeÚcharsetsÚtestÚjoinÚsortedÚas_bytesÚ
configboolÚwriteÚendswithÚstatusr   ÚsendmailÚ
emailutilsÚ	parseaddrr"   )ÚuiÚrepoÚctxÚdomainÚmessageidseedÚtemplateÚspecÚ	templaterÚnr)   Úsubr+   ÚdataÚmsgÚinstÚsenderÚmsgtexts                    ÚC/usr/lib/python3/dist-packages/hgext/hooklib/changeset_obsoleted.pyÚ_report_commitrY   A   s  € Ø�Y‰YÐ*¨IÓ6÷ ¸"¿)¹)Ø�9ó;€Fð —I‘IØÐ-ó÷ 0à	�‰�9Ð.Ó	/ð ð �y‰yÐ,¨kÓ:€HÜ×)Ò)¨(Ó3€DÜ×-Ò-¨b¸Ó=€IØ‡M�M„OÜ�Š˜ +Ó.€Aä‹5€DØ—V”V‰	ˆØ‰<Ø�H‰H�SŒMÙØ�y‰y˜¨¯g©g«iÓ8ˆÜˆt�9‹9Ø�H‰H�SŒMÙñ ô ˆ4ƒy�Aƒ~Ø
�‰ØMô	
ð 	à‡N�NØØ—‘“Ø—	‘	˜& *Ó-Ø�Y‰YØ—‘ð ñ ð �<‰<‹>€Dð9Ü�oŠo˜dÓ#ˆô  ×)Ò)¨#°}ÓE€CˆÑÜ×(Ò(Ø�] ]Ñ2ó€CˆÑô ×'Ò'Ü×ÒÐ =Ñ>ó€Cˆ�Kð ˆv�;Ø—‘˜8 WÓ-×>°·±³ˆØ�vÓ °&Ó!8Ø—Y‘Y˜vÓ&ˆFÜ×(Ò(¨°Q·Z±ZÀÇÁÓHˆˆF‰Ø—	‘	œ& ›,Ó'€Cˆ�Ià�l‰l‹n€GØ	‡}�}�Y ×(Ñ(Ø
�‰�ÔØ×Ñ ×&Ñ&Ø�H‰H�U�Oð 'ð 	�	‰	”!Ð>Ó?À#Ç'Á'Ã)ÑKÔLÜ�ŠØ”
×$Ò$ S¨¡[Ó1°!Ñ4°d¸GÈ!Ï&É&ó	
øô1 ×(Ñ(ó 9Ü�kŠkœ*×1Ò1°$Ó7Ó8Ð8ûð9ús   Æ,N	 Î	OÎ*OÏOc                ón   ^• [        U4S j[        R                  " U R                  T/5       5       5      $ )Nc              3  ó6   >#   • U  H  oT:w  d  M
  Uv •  M     g 7f©N© )Ú.0Úrr,   s     €rX   Ú	<genexpr>Ú has_successor.<locals>.<genexpr>†   s   øé € ð Ú>ˆaÀsÁ(�‰Ò>ùs   ƒ	�	)Úanyr
   ÚallsuccessorsÚobsstore)rJ   r,   s    `rX   Úhas_successorre   …   s0   ø€ Üô Ü×(Ò(¨¯©¸¸Ô>óó ð ó    c                ó6  • US:w  a6  [         R                  " [        S5      [        R                  " U5      -  5      e[
        R                  " XS   S9 HB  nUR                  5       U   n[        XR                  5       5      (       a  M6  [        XU5        MD     g )Ns   txncloses   Unsupported hook type %rr   )r   )r   r5   r   r   Úbytestrr
   ÚgetobsoletedÚ
unfilteredre   ÚnoderY   )rI   rJ   Úhooktyperk   Úkwargsr,   rK   s          rX   Úhookrn   ‹   s}   € Ø�;ÓÜ�kŠkÜÐ)Ó*¬X×-=Ò-=¸hÓ-GÑGó
ð 	
ô ×#Ò# D¸Ñ2CÔDˆØ�o‰oÓ Ñ$ˆÜ˜T§8¡8£:×.Ó.Ü˜2 SÖ)ò Erf   r\   )Ú__doc__Ú
__future__r   Úemail.errorsÚerrorsr3   Úemail.utilsÚutilsrG   Úmercurial.i18nr   Ú	mercurialr   r   r   r   r	   r
   r   r   Úmercurial.utilsr   r   Ú r   ÚconfigtableÚ
configitemrY   re   rn   r]   rf   rX   Ú<module>r{      s�   ðñ
õ #å "Ý  å ÷	÷ 	ó 	÷õ à€Ø×!Ò! +Ó.€
á 
ØØØòñ
 ØØØòñ
 ØØðòòA
òHõ*rf   