Viewing File: /opt/hc_python/lib/python3.12/site-packages/pre_commit/commands/__pycache__/gc.cpython-312.pyc

�

i0i�����ddlmZddlZddlmZddlmZddl	m
Z
ddlmZddlm
Z
ddlmZddlmZdd	lmZdd
lmZddlmZddlmZ										dd
�Zdd�Zdd�Zy)�)�annotationsN)�Any)�output)�InvalidConfigError)�InvalidManifestError)�load_config)�
load_manifest)�LOCAL)�META)�Store)�rmtreec��|dtk(ry|dtk(rP|dD]G}|jd�}|j|j	|d|�t
jf��Iy|d|df}|j|�}|�y	ttjj|t
j��}|j|�|D�cic]}|d|��
}	}|dD]N}|d|	vr�|jd|	|dd�}|j|j	|d|�|df��Pycc}w#t$rYywxYw)N�repo�hooks�additional_dependencies�rev�id)
rr
�get�discard�db_repo_name�C�LOCAL_REPO_VERSIONr	�os�path�join�
MANIFEST_FILEr)
�store�	all_repos�unused_reposr�hook�deps�keyr�manifest�by_ids
          �E/opt/hc_python/lib/python3.12/site-packages/pre_commit/commands/gc.py�_mark_used_reposr&sm���F�|�t���	
�f���	���M�D��8�8�5�6�D�� � ��"�"�4��<��6��$�$�"�
�"��F�|�T�%�[�)���}�}�S�!���<��	<�$�R�W�W�\�\�$����%H�I�H�
� � ��%�2:�;�(�$�T�$�Z��%�(�E�;���M�D��D�z��&���8�8�)��d�4�j�!�";�<��D�
� � ��"�"�4��<��6��U��"�
�"��<��	$�	��	�s�	7E�
D;�	E�Ec
�,�|j�5|j�5}|j|�|jd�j	�}|D���cic]\}}}||f|��
}}}}t|�}|jd�j	�}|D�cgc]\}|��}	}g}
|	D]&}	t
|�}|dD]}t||||���(|
D�cgc]}|f��}
}|jd|
�|jdt|��|D]}t||��t|�cddd�cddd�Scc}}}wcc}w#t$r|
j|�Y��wxYwcc}w#1swYnxYwddd�y#1swYyxYw)Nz!SELECT repo, ref, path FROM reposzSELECT path FROM configs�reposz"DELETE FROM configs WHERE path = ?z,DELETE FROM repos WHERE repo = ? and ref = ?)�exclusive_lock�connect�_create_configs_table�execute�fetchall�setrr&r�append�executemany�sortedr
�len)r�dbr(r�refrrr�configs_rows�configs�dead_configs�config_path�config�paths�ks               r%�_gcr<=s���	�	�	�	�����B�
�#�#�B�'��
�
�>�?�H�H�J��>C�D�e�?�4��d�d�C�[�$�&�e�	�D��9�~���z�z�"<�=�F�F�H��%1�2�\�E�D�4�\��2���"�K�
K�$�[�1��
#�7�O�D�$�U�I�|�T�J�,�#�&2�2�\�T�$��\��2�
���;�U�C�
���:��<� �	
��A��9�Q�<� ���<� �?"1��	�	��E��3��&�
��#�#�K�0��
��3�+"1���	�	�	�sq�F
�7E5�E�)2E5�E�&	E5�0E�;E5�
E0�#AE5�1	F
�E5�E-	�*E5�,E-	�-E5�5E>	�:F
�
Fc�F�tjt|��d��y)Nz repo(s) removed.r)r�
write_liner<)rs r%�gcr?`s��
����U���$5�6�7��)
rrrzdict[tuple[str, str], str]rzset[tuple[str, str]]rzdict[str, Any]�return�None)rrrA�int)�
__future__r�os.pathr�typingr�pre_commit.constants�	constantsr�
pre_commitr�pre_commit.clientlibrrrr	r
r�pre_commit.storer�pre_commit.utilr
r&r<r?�r@r%�<module>rNsk��"��� ��3�5�,�.�&�%�"�"�(��(�-�(�+�(��	(�

�(�V !�F
r@
Back to Directory File Manager