
    6|hy                         d Z ddlZddlZddlZddlmZmZmZ ddlm	Z	  ej                  e      Z ed      Zdee   dee   fdZ G d	 d
e	d      Z ej"                  d      ddedefd       Zy)z-Fetch information about any current git repo.    N)ListOptionalTypeVar)	TypedDictTcommandreturnc                     	 t        j                  dg| z   dt         j                        j                         S # t        $ r Y y w xY w)Ngitzutf-8)encodingstderr)
subprocesscheck_outputDEVNULLstripBaseException)r   s    Q/var/www/html/test/engine/venv/lib/python3.12/site-packages/langsmith/env/_git.pyexec_gitr      sI    &&Gg
8J8J

%'	  s   7: 	AAc                       e Zd ZU ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee   ed	<   y
)GitInfo	repo_name
remote_urlcommitbranchauthor_nameauthor_emailcommit_timedirtytagsN)__name__
__module____qualname__r   str__annotations__bool     r   r   r      s\    }SMSM#3-#D>
3-r'   r   F)total   )maxsizeremotec                 V   t        ddg      st        ddddddddd	      S t        dd| g      t        ddg      t        g d      t        g d	      t        g d
      t        ddg      dk7  t        g d      t        g d      t        ddg      xs dj                  d      d   d	S )z)Get information about the git repository.	rev-parsez--is-inside-work-treeN)	r   r   r   r   r   r   r   r   r   r+   zget-urlHEAD)log-1z--format=%ct)r-   z--abbrev-refr.   )describez--tagsz--exact-matchz--alwaysz--dirtystatusz--porcelain )r/   r0   z--format=%an)r/   r0   z--format=%aez--show-toplevel/)	r   r   r   r   r   r   r   r   r   )r   r   split)r+   s    r   get_git_infor7   $   s     ["9:;

 
	
 )V<=K01 =>@AJ
 8]34: => !>?->?@FBMMcRSUV r'   )origin)__doc__	functoolsloggingr   typingr   r   r   typing_extensionsr   	getLoggerr    loggerr   r#   r   r   	lru_cacher7   r&   r'   r   <module>rA      s    3    * * '			8	$CLd3i HSM 	iu 	 Q G   r'   