File: //usr/lib/python3/dist-packages/hgext/__pycache__/releasenotes.cpython-310.pyc
o
�]Lb�W � @ sD d Z ddlmZ ddlZddlZddlZddlmZ ddlm Z ddl
mZ ddlm
Z
mZmZmZmZmZmZmZ ddlmZmZ i Ze�e�Zz,ddlZe�� � ejd d
edd� ddlmZ ej W d � n1 sow Y W n e!y� dZY nw 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�dMdKdL��Z9dS )Na/ 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 �4/usr/lib/python3/dist-packages/hgext/releasenotes.py�__init__R �
zparsedreleasenotes.__init__c C s
|| j v S r r �r �sectionr r r �__contains__U r 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&