File: //kunden/lib/python3/dist-packages/dulwich/__pycache__/porcelain.cpython-39.pyc
a
3k�_� � @ s� d Z ddlmZ ddlmZmZ ddlmZmZ ddl Z ddl
Z
ddlmZ ddl
Z
ddlZddlZddlZddlZddlmZmZmZmZ ddlmZ dd lmZ dd
lmZ ddlmZmZm Z m!Z!m"Z"m#Z# ddl$m%Z% dd
l&m'Z' ddl(m)Z) ddl*m+Z+m,Z, ddl-m.Z. ddl/m0Z0m1Z1m2Z2m3Z3m4Z4 ddl5m6Z6m7Z7m8Z8m9Z9m:Z: ddl;m<Z<m=Z= ddl>m?Z? ddl@mAZAmBZB ddlCmDZDmEZEmFZFmGZG ddlHmIZImJZJ ddlKmLZLmMZMmNZNmOZOmPZQ edd�ZRG dd� de�ZSeTejUdd��p�eS� ZVeTejWdd��p�eS� ZXdZYG dd � d eZ�Z[G d!d"� d"e[�Z\d#d$� Z]ed%d&� �Z^d'd(� Z_eYfd)d*�Z`G d+d,� d,e[�Zad-d.� ZbdeVeXfd/d0�Zcd�d2d3�ZPd�d5d6�Zdd�d7d8�Zed�d9d:�Zfd�d;d<�Zgdd4deXdd=dfd>d?�Zhd�d@dA�ZidBdC� Zjd�dDdE�Zkd�dFdG�ZlelZmeYfdHdI�ZneYfdJdK�ZoejUfdLdM�ZpejUfdNdO�ZqejUfdPdQ�ZrejUfdRdS�ZsejUfdTdU�ZtejUfdVdW�ZudXdY� ZvdZd[� Zwd1dejUdd4d4fd\d]�Zxd1dejUeYfd^d_�ZyejUfd`da�ZzejUfdbdc�Z{ddde� Z|d�dgdh�Z}didj� Z~ejUfdkdl�Zdmdn� Z�d�dodp�Z�d�eJeee�e�f eee� e�f dq�drds�Z�ddeVeXd4fdtdu�Z�ddeVeXdvd4fdwdx�Z�d�dydz�Z�d{d|� Z�d}d~� Z�dd�� Z�d�d�d��Z�d�d�d��Z�d�d�d��Z�d�d�d��Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�d��Z�d�d�� Z�d�d�� Z�d�d�� Z�d�eGe�ee�e�f ee� e�e�d��d�d��Z�dejUeXddd4d4d4fd�d��Z�d�d�d��Z�d�d�� Z�d�d�d��Z�d�ejUd4d4fd�d��Z�d�d�� Z�d�d�d��Z�d�d�d��Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�d��Z�d�d�� Z�dS )�a� Simple wrapper that provides porcelain-like functions on top of Dulwich.
Currently implemented:
* archive
* add
* branch{_create,_delete,_list}
* check-ignore
* checkout
* clone
* commit
* commit-tree
* daemon
* describe
* diff-tree
* fetch
* init
* ls-files
* ls-remote
* ls-tree
* pull
* push
* rm
* remote{_add}
* receive-pack
* reset
* rev-list
* tag{_create,_delete,_list}
* upload-pack
* update-server-info
* status
* symbolic-ref
These functions are meant to behave similarly to the git subcommands.
Differences in behaviour are considered bugs.
Functions should generally accept both unicode strings and bytestrings
� )�
namedtuple)�closing�contextmanager)�BytesIO� RawIOBaseN)�Path)�Dict�Optional�Tuple�Union)�
tar_stream)�get_transport_and_path)�
StackedConfig)�
CHANGE_ADD�
CHANGE_DELETE�
CHANGE_MODIFY�
CHANGE_RENAME�CHANGE_COPY�RENAME_CHANGE_TYPES)�
SendPackError)�can_fast_forward)�IgnoreFilterManager)�blob_from_path_and_stat�get_unstaged_changes)�tree_lookup_path)�Commit�Tag�format_timezone�parse_timezone�pretty_format_tree_entry)�parse_commit�parse_object� parse_ref�parse_reftuples�
parse_tree)�write_pack_index�write_pack_objects)�write_tree_diff)�Protocol�ZERO_SHA)�ANNOTATED_TAG_SUFFIX�LOCAL_BRANCH_PREFIX�strip_peeled_refs�
RefsContainer)�BaseRepo�Repo)�FileSystemBackend�TCPGitServer�ReceivePackHandler�UploadPackHandler�update_server_info� GitStatuszstaged unstaged untrackedc @ s2 e Zd ZdZddd�Zdd� Zdd� Zd d
� ZdS )
�
NoneStreamz;Fallback if stdout or stderr are unavailable, does nothing.���c C s d S �N� )�self�sizer9 r9 �3/usr/lib/python3/dist-packages/dulwich/porcelain.py�read� s zNoneStream.readc C s d S r8 r9 )r: r9 r9 r<