HEX
Server: Apache
System: Linux infong-uk86 4.4.400-icpu-106 #2 SMP Mon Sep 15 08:23:40 UTC 2025 x86_64
User: u44115835 (4976590)
PHP: 8.4.17
Disabled: NONE
Upload Files
File: //kunden/lib/python3/dist-packages/hgext/__pycache__/fastexport.cpython-39.pyc
a

%0�_Z�@s.dZddlmZddlZddlmZddlmZmZddl	m
Z
ddlmZm
Z
mZmZdd	lmZd
ZiZe�e�Ze�d�Ze�d�Zd
d�Zdd�Zdd�Zdd�Zdd�Ze�d�Zedddged�ed�fddded �ed!�fd"d#ded$�ed!�fd%d&ded'�ed!�fged(�ejd)�d*d+��ZdS),z-export repositories as git fast-import stream�)�absolute_importN)�_)�hex�nullrev)�
stringutil)�error�pycompat�	registrar�scmutil�)�convcmdsships-with-hg-cores[<>
"]s[<> 
]cCsn|�||�}t�|�}t�|�}t�|�s4t�|�rFt�t	d�|��|r^d|d|dSd|dSdS)Ns:Unable to parse user into person and email for revision %s�"s" <�>�<)
�getrZpersonZemail�GIT_EMAIL_PROHIBITED�match�GIT_PERSON_PROHIBITEDr�Abortr)�	authormap�user�revZmapped_userZuser_personZ
user_email�r�2/usr/lib/python3/dist-packages/hgext/fastexport.py�convert_to_git_user%s

���rcCsp|\}}|dkrdnd}|ddkr8t�td�|f��t|�d}|d}|d}dt|�|d||fS)Nr�+�-�<s4UTC offset in %b is not an integer number of secondss%d s%02d%02d)rrr�abs�int)�dateZ	timestampZutcoffZtzsignZtzhZtzminrrr�convert_to_git_date6s�r!cCsd|S)Nsrefs/heads/r)�branchrrr�convert_to_git_refCsr#cCs>|�dt|��|�|�|r0|dd�dkr:|�d�dS)Nsdata %d
����
)�append�len)�buf�dataZskip_newlinerrr�
write_dataHs
r*cCsl||}|��}||vr*|�d|�dSdd�|��D�}|D],}|��|vr@|�td�||f�dSq@|��D]r}	|	|vr�qv|�|	�}
t|
���}||vrvt|�d}|||<|
�	�}
dd|g}t
||
d�|j|d	d
i�~qvt|�d}|||<t|�
��}d|d|dt||��|�t|���fg}t
||��d
�|�rh|�d
||d���t|�dk�r�|�d||d���||d}|���|���}n|��}g}|D]l}	|	|v�r�|�|	d|	f�nH|�|	�}
|
��}|
���rdnd}d||t|�|	f}|�|	|f��q�|��|�dd�|D��~|�d�|j|d	d
i�~dS)Ns/warning: revision %s already exported, skipped
cSsg|]}|��tkr|�qSr)rr)�.0�prrr�
<listcomp>U�z!export_commit.<locals>.<listcomp>s8warning: parent %s of %s has not been exported, skipped
rsblob
s	mark :%d
FZkeepprogressbarTs
commit %s
scommitter %s %s
s	from :%d
r�s
merge :%d
sD %s
s755s644sM %s :%d %s
css|]\}}|VqdS)Nr)r+�fname�changedrrr�	<genexpr>�r.z export_commit.<locals>.<genexpr>r%)r�debug�parents�warnr�files�filectxZfilenoder'r)r*�writer#r"rrr!r Zdescriptionr&ZmanifestZdiffZisexec�sort�extend)�ui�repor�marksr�ctxZrevidr4r,r0r7ZfilerevZmarkr)r(�refZp0ctxr6ZfilebufZfilepermr1rrr�
export_commitOsz��

���	


r@s^[0-9a-f]{40}$s
fastexport�r�revsrevisions to exportsREV�isimport-marksr.sold marks file to readsFILE�esexport-markssnew marks file to write�A�	authormapsremap usernames using this files[OPTION]... [REV]...)ZhelpcategorycOs�t�|�}|t|�dg��7}|s2t�|dg�}nt�||�}|sPt�td���|�d�}|rlt	�
||�}ni}|�d�}i}|r�t|d��R}|D]<}	|	��}	t
�|	�r�|	|vr�t�td���t|�d||	<q�Wd	�n1s�0Y|��|jtd
�td�t|�d��4}
|D]}t|||||�|
���qWd	�n1�sN0Y|�d
�}|�r�t|d��X}
d	gt|�}|��D]\}}|||d<�q�|D]}|
�|d��q�Wd	�n1�s�0Yd	S)aexport repository as git fast-import stream

    This command lets you dump a repository as a human-readable text stream.
    It can be piped into corresponding import routines like "git fast-import".
    Incremental dumps can be created by using marks files.
    rB�:sno revisions matchedrFsimport_marks�rbsCorrupted marks filerNs	exportings	revisions)Zunit�totalsexport_marks�wbr%)rZbyteskwargs�tuplerr
ZrevrangerrrrZ
readauthormap�open�strip�isrevrr'r9Zmakeprogressr@Z	increment�itemsr8)r;r<ZrevsZoptsZ
authorfilerZimport_marksr=Zimport_marks_file�lineZprogressrZexport_marksZexport_marks_fileZoutput_marks�k�vrrr�
fastexport�sH


0�,
rS) �__doc__Z
__future__r�reZmercurial.i18nrZmercurial.noderrZmercurial.utilsrZ	mercurialrrr	r
ZconvertrZ
testedwithZcmdtableZcommand�compilerrrr!r#r*r@rNZCATEGORY_IMPORT_EXPORTrSrrrr�<module>sD



I
���