
    wi
                        d dl mZ d dlZd dlZd dlZd dlZd dlmZ	 d dl
mZ d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ  ej        e          ZddZddZdS )    )annotationsN)git)output)load_manifest)run)Store)cmd_output_b)xargs)	yaml_dumptmpdirstrreporef
str | Nonereturntuple[str, str]c                   |||fS t          j        |          }t          j                            |          r)t          j        d|          rt                              d           t          j                            | d          }t          dd||           t          dd|dd	|
           t          j
        d|          }t          j
        d|          }t          t          j        ||          }t          j        |
          }|rt          d|||           t          ddd||           t          j        |           |t          j        |          fS ||fS )NHEAD)r   z3Creating temporary repo with uncommitted changes...zshadow-repor   clonecheckoutz-b_pc_tmp)cwdindexobjects)GIT_INDEX_FILEGIT_OBJECT_DIRECTORY)r   addz--)r   envr   z-u)r   head_revospathexistshas_diffloggerwarningjoinr	   git_pathdictenvironget_staged_filesr
   commit)r   r   r   shadowidxobjsr   staged_filess           l/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/pre_commit/commands/try_repo.py	_repo_refr1      s`   
Sy
,t

C	w~~d V$ ? ? ? LMMMfm44UGT6222UJT9&IIIIl7000|IF3332:cMMM+555 	I&$CHHHHUE4Ts;;;;
s|F++++Sy    argsargparse.Namespaceintc                   t          j                    5 }t          || j        | j                  \  }}t          |          }| j        rd| j        ig}nk|                    ||          }t          t          j
                            |t          j                            }t          |d           }d |D             }d|||dgi}t          |          }	t          j
                            |t          j                  }
t#          |
d          5 }|                    |	           d d d            n# 1 swxY w Y   t'          j        d           t'          j        d	           t'          j        d           t'          j        |	           t'          j        d           t+          |
||           cd d d            S # 1 swxY w Y   d S )
Nidc                    | d         S )Nr7    )hooks    r0   <lambda>ztry_repo.<locals>.<lambda>=   s
    d r2   )keyc                "    g | ]}d |d          iS )r7   r9   ).0r:   s     r0   
<listcomp>ztry_repo.<locals>.<listcomp>>   s!    ===DdDJ'===r2   repos)r   revhookswzO===============================================================================zUsing config:)tempfileTemporaryDirectoryr1   r   r   r   r:   r   r   r    r!   r&   CMANIFEST_FILEsortedr   CONFIG_FILEopenwriter   
write_liner   )r3   tempdirr   r   storerB   	repo_pathmanifestconfigconfig_sconfig_filenamecfgs               r0   try_reporU   3   s    		$	&	& 1'gty$(;;	cg9 	>DI&'EED#..I$RW\\)Q_%M%MNNHh,C,CDDDH==H===ET#FFGHV$$',,w>>/3'' 	 3IIh	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	(###/***(###X(###?E40031 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s7   C=F?D3'F?3D7	7F?:D7	;A7F??GG)r   r   r   r   r   r   r   r   )r3   r4   r   r5   )
__future__r   argparseloggingos.pathr    rD   pre_commit.constants	constantsrF   
pre_commitr   r   pre_commit.clientlibr   pre_commit.commands.runr   pre_commit.storer   pre_commit.utilr	   pre_commit.xargsr
   pre_commit.yamlr   	getLogger__name__r$   r1   rU   r9   r2   r0   <module>re      s!   " " " " " "                             . . . . . . ' ' ' ' ' ' " " " " " " ( ( ( ( ( ( " " " " " " % % % % % %		8	$	$   <1 1 1 1 1 1r2   