File: //usr/lib/python3/dist-packages/hgext/__pycache__/phabricator.cpython-310.pyc
o
�]Lb�B � @ s4 d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlm
Z
mZ ddlmZ ddlmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z/m0Z0 dd l1m2Z2m3Z3m4Z4 d
dl5m6Z6 dZ7e�� Z8e8j9Z9e8j:Z:e8j;Z;e8j<Z<e8j=Z>e8j?d
ddd� e8j?d
ddd� e8j?d
ddd� e8j?d
ddd� e8j?d
ddd� e8j?d
ddd� e8j?d
dd
d� e8j?d
ddd� e8j?dddd� e8j?dddd� e8j?dddd� dddd d!d"dd#d$d$d%�
Z@d&d'd&ed(�fgZAe8�Bed)�d*d+� �ZCd�d,d-�ZDd.d/� ZEd0d1� ZFd2d3� ZGd4d5� ZHeDd6g ed7�d8d9�d:d;� �ZId<d=� ZJe
�Kd>�ZLe
�Kd?e
jM�ZNd@dA� ZOdBdC� ZPdDdE� ZQG dFdG� dGeR�ZSG dHdI� dIeR�ZTejUG dJdK� dKeV��ZWejUG dLdM� dMeR��ZXejUG dNdO� dOeR��ZYdPdQ� ZZdRdS� Z[dTdU� Z\dVdW� Z]dXdY� Z^dZd[d\d]�Z_d^d_� Z`d`da� Zadbdc� Zbddde� Zcdfdg� Zddhdi� Ze d�djdk�Zfdldm� Zgdndo� Zhdpdq� ZieDddrdsg edt�edu�fd&dvd8edw�fd&dxg edy�fd&dzg ed{�fd|d}d&ed~�fd&dded�fd&d�ded��fged��e:jjd��d�d�� �Zke0�lg d���Zmd�d�� Znh d��Zod�d�� Zpd�d�d�d�d�d�d�d�d��Zqd�d�� Zrd�d�� Zsd�d�� Ztd�d�� Zud�d�� Zvd�d�� Zwd�d�� Zxd�d�� Zyd�d�� Zzd�d�� Z{d�d�� Z|eDd�d&d�ded��fged��e:jjd8d��d�d�� �Z}eDdd&d�ded��fged��e:jjd��d�d�� �Z~eDd�d&d�ded��fd&d�ded��fd&d�ded��fd&d�ded��fd&d�ded��fd&d�ded��fd&d�dedfd&d�dedăfd&d�dedƃfd&d�dedȃfd|d}d&edɃfdrdsd&edʃedu�fged˃e:jjd8d��d�d̈́ �Ze8j<d�d�hdЍd�d҄ �Z�e8j<d�h dԣdЍd�dք �Z�e6j�d�d�d؍d�dڄ �Z�dS )�a simple Phabricator integration (EXPERIMENTAL)
This extension provides a ``phabsend`` command which sends a stack of
changesets to Phabricator, and a ``phabread`` command which prints a stack of
revisions in a format suitable for :hg:`import`, and a ``phabupdate`` command
to update statuses in batch.
A "phabstatus" view for :hg:`show` is also provided; it displays status
information of Phabricator differentials associated with unfinished
changesets.
By default, Phabricator requires ``Test Plan`` which might prevent some
changeset from being sent. The requirement could be disabled by changing
``differential.require-test-plan-field`` config server side.
Config::
[phabricator]
# Phabricator URL
url = https://phab.example.com/
# Repo callsign. If a repo has a URL https://$HOST/diffusion/FOO, then its
# callsign is "FOO".
callsign = FOO
# curl command to use. If not set (default), use builtin HTTP library to
# communicate. If set, use the specified curl command. This could be useful
# if you need to specify advanced options that is not easily supported by
# the internal library.
curlcmd = curl --connect-timeout 2 --retry 3 --silent
# retry failed command N time (default 0). Useful when using the extension
# over flakly connection.
#
# We wait `retry.interval` between each retry, in seconds.
# (default 1 second).
retry = 3
retry.interval = 10
# the retry option can combine well with the http.timeout one.
#
# For example to give up on http request after 20 seconds:
[http]
timeout=20
[auth]
example.schemes = https
example.prefix = phab.example.com
# API token. Get it from https://$HOST/conduit/login/
example.phabtoken = cli-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
� )�absolute_importN)�bin�short)�_)�getattr)�attr)�cmdutil�context�copies�encoding�error� exthelper�graphmod�httpconnection� localrepo�
logcmdutil�match�mdiff�obsutil�parser�patch�phases�pycompat�rewriteutil�scmutil�smartset�tags�templatefilters�templateutil�url�util)�procutil�
stringutil�urlutil� )�shows ships-with-hg-core� phabricator� batchsize� ��default� callsign� curlcmd� debugF� repophid� retry� retry.interval� url� phabsend� confirm�
phabimport� secret� obsoletes greens magentas bolds magenta dims
green bolds yellows red)
s phabricator.action.createds phabricator.action.skippeds phabricator.action.updated� phabricator.drevs phabricator.status.abandoneds phabricator.status.accepteds phabricator.status.closeds phabricator.status.needsreviews phabricator.status.needsrevisions! phabricator.status.changesplanned� s test-vcrs� Path to a vcr file. If nonexistent, will record a new vcr transcript, otherwise will mock all http requests using the specified vcr file. (ADVANCED)�loadhgrcc O s� d}i }zt �|�d��} t�dd� t�| ��}d}W n ty0 |�td�|� d� � Y n t
y8 Y nw t�� }
d|v rG|d |
d<