| Server IP : 162.144.4.212 / Your IP : 216.73.216.108 Web Server : Apache System : Linux gator2125.hostgator.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64 User : cozeellc ( 2980) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/lib64/python3.9/site-packages/hgext/__pycache__/ |
Upload File : |
a
�+�b�W � @ sF d Z ddlmZ ddlZddlZddlZddlmZ ddlm Z ddl
mZ ddlm
Z
mZmZmZmZmZmZmZ ddlmZmZ i Ze�e�ZzXddlZe�� �4 ejd d
edd� ddlmZ ej W d � n1 s�0 Y W n e!�y dZY n0 d
Z"ded�fded�fded�fded�fded�fgZ#e�$d�Z%dZ&ed�Z'G dd� de(�Z)G dd� de(�Z*dd � Z+d!d"� Z,d#d$� Z-d%d&� Z.d'd(� Z/d)d*� Z0d+d,� Z1d-d.� Z2d/d0� Z3d1d2� Z4d3d4� Z5d5d6� Z6ed7d8d9d:ed;�ed<�fd=d>d?ed@�ed<�fdAdBd?edC�dfgedD�ej7dE�dMdFdG��Z8edHdIdJ�dNdKdL��Z9dS )Oa/ generate release notes from commit messages (EXPERIMENTAL)
It is common to maintain files detailing changes in a project between
releases. Maintaining these files can be difficult and time consuming.
The :hg:`releasenotes` command provided by this extension makes the
process simpler by automating it.
� )�absolute_importN)�_)�open)�hex)�cmdutil�config�error�
logcmdutil�minirst�pycompat� registrar�util)�procutil�
stringutil�ignorez.*python-Levenshtein.*zfuzzywuzzy.fuzz)�action�message�category�modules ships-with-hg-cores features New Featuress bcs Backwards Compatibility Changes� fixs Bug Fixess perfs Performance Improvementss apis API Changess# ^\.\. ([a-zA-Z0-9_]+)::\s*([^$]+)?$s \bissue ?[0-9]{4,6}(?![0-9])\bs
Other Changesc @ sT e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� ZdS )�parsedreleasenotesc C s
i | _ d S �N��sections��self� r �8/usr/lib64/python3.9/site-packages/hgext/releasenotes.py�__init__R s zparsedreleasenotes.__init__c C s
|| j v S r r �r �sectionr r r �__contains__U s zparsedreleasenotes.__contains__c C s t t| j��S r )�iter�sortedr r r r r �__iter__X s zparsedreleasenotes.__iter__c C s. | j �|g g f� | j | d �||f� dS )z Add a titled release note entry.r N�r �
setdefault�append)r r �title�
paragraphsr r r �
addtitleditem[ s z parsedreleasenotes.addtitleditemc C s* | j �|g g f� | j | d �|� dS )z[Adds a non-titled release note entry.
Will be rendered as a bullet point.
� Nr% )r r r) r r r �addnontitleditem` s z#parsedreleasenotes.addnontitleditemc C s | j �|g g f�d S )z|Returns titled entries in a section.
Returns a list of (title, paragraphs) tuples describing sub-sections.
r �r �getr r r r �titledforsectionh s z#parsedreleasenotes.titledforsectionc C s | j �|g g f�d S )z5Returns non-titled, bulleted paragraphs in a section.r+ r- r r r r �nontitledforsectiono s z&parsedreleasenotes.nontitledforsectionc s t � fdd�| �|�D ��S )Nc 3 s | ]}|d � kV qdS )r Nr ��.0�t�r( r r � <genexpr>t � z8parsedreleasenotes.hastitledinsection.<locals>.<genexpr>)�anyr/ )r r r( r r4 r �hastitledinsections s z%parsedreleasenotes.hastitledinsectionc C s8 t s|�td�� |D �]}t| �|��t| �|�� }|�|�D ]|\}}| �||�rn|�td�||f � qBt||fg�d }|dkr�t |�}|r�t
|||�r�qBt|||�r�qB| �|||� qB|�|�D ]f}|| �|�v r�q�t|g�d }|dk�rt |�}|�rt
|||��rq�t|||��r$q�| �
||� q�qdS )z{Merge another instance into this one.
This is used to combine multiple sources of release notes together.
sK module 'fuzzywuzzy' not found, merging of similar releasenotes is disabled
s* %s already exists in %s section; ignoring
r r N)�fuzz�warnr �
converttitledr/ �convertnontitledr0 r8 �write�getissuenum� findissue�similarr* r, ) r �ui�otherr �
existingnotesr( r) �incoming_str�issuer r r �mergev sR ��
����
zparsedreleasenotes.mergeN)�__name__�
__module__�__qualname__r r! r$ r* r, r/ r0 r8 rF r r r r r Q s r c @ s. e Zd Zd
dd�Zdd� Zdd� Zdd � ZdS )�releasenotessectionsNc C sD |r6t �t�}t|�}|r$|�|� tt�|��| _n
tt�| _d S r ) r
Zsortdict�DEFAULT_SECTIONS�getcustomadmonitions�update�listr Z iteritems� _sections)r rA �repor Zcustom_sectionsr r r r � s
zreleasenotessections.__init__c C s
t | j�S r )r"