|
|
@@ -22,6 +22,83 @@
|
|
|
|
|
|
"""Generic functions for talking the git smart server protocol."""
|
|
|
|
|
|
+__all__ = [
|
|
|
+ "CAPABILITIES_REF",
|
|
|
+ "CAPABILITY_AGENT",
|
|
|
+ "CAPABILITY_ALLOW_REACHABLE_SHA1_IN_WANT",
|
|
|
+ "CAPABILITY_ALLOW_TIP_SHA1_IN_WANT",
|
|
|
+ "CAPABILITY_ATOMIC",
|
|
|
+ "CAPABILITY_DEEPEN_NOT",
|
|
|
+ "CAPABILITY_DEEPEN_RELATIVE",
|
|
|
+ "CAPABILITY_DEEPEN_SINCE",
|
|
|
+ "CAPABILITY_DELETE_REFS",
|
|
|
+ "CAPABILITY_FETCH",
|
|
|
+ "CAPABILITY_FILTER",
|
|
|
+ "CAPABILITY_INCLUDE_TAG",
|
|
|
+ "CAPABILITY_MULTI_ACK",
|
|
|
+ "CAPABILITY_MULTI_ACK_DETAILED",
|
|
|
+ "CAPABILITY_NO_DONE",
|
|
|
+ "CAPABILITY_NO_PROGRESS",
|
|
|
+ "CAPABILITY_OFS_DELTA",
|
|
|
+ "CAPABILITY_QUIET",
|
|
|
+ "CAPABILITY_REPORT_STATUS",
|
|
|
+ "CAPABILITY_SHALLOW",
|
|
|
+ "CAPABILITY_SIDE_BAND",
|
|
|
+ "CAPABILITY_SIDE_BAND_64K",
|
|
|
+ "CAPABILITY_SYMREF",
|
|
|
+ "CAPABILITY_THIN_PACK",
|
|
|
+ "COMMAND_DEEPEN",
|
|
|
+ "COMMAND_DEEPEN_NOT",
|
|
|
+ "COMMAND_DEEPEN_SINCE",
|
|
|
+ "COMMAND_DONE",
|
|
|
+ "COMMAND_HAVE",
|
|
|
+ "COMMAND_SHALLOW",
|
|
|
+ "COMMAND_UNSHALLOW",
|
|
|
+ "COMMAND_WANT",
|
|
|
+ "COMMON_CAPABILITIES",
|
|
|
+ "DEFAULT_GIT_PROTOCOL_VERSION_FETCH",
|
|
|
+ "DEFAULT_GIT_PROTOCOL_VERSION_SEND",
|
|
|
+ "DEPTH_INFINITE",
|
|
|
+ "GIT_PROTOCOL_VERSIONS",
|
|
|
+ "KNOWN_RECEIVE_CAPABILITIES",
|
|
|
+ "KNOWN_UPLOAD_CAPABILITIES",
|
|
|
+ "MULTI_ACK",
|
|
|
+ "MULTI_ACK_DETAILED",
|
|
|
+ "NAK_LINE",
|
|
|
+ "PEELED_TAG_SUFFIX",
|
|
|
+ "SIDE_BAND_CHANNEL_DATA",
|
|
|
+ "SIDE_BAND_CHANNEL_FATAL",
|
|
|
+ "SIDE_BAND_CHANNEL_PROGRESS",
|
|
|
+ "SINGLE_ACK",
|
|
|
+ "TCP_GIT_PORT",
|
|
|
+ "BufferedPktLineWriter",
|
|
|
+ "PktLineParser",
|
|
|
+ "Protocol",
|
|
|
+ "ReceivableProtocol",
|
|
|
+ "ack_type",
|
|
|
+ "agent_string",
|
|
|
+ "capability_agent",
|
|
|
+ "capability_symref",
|
|
|
+ "extract_capabilities",
|
|
|
+ "extract_capability_names",
|
|
|
+ "extract_want_line_capabilities",
|
|
|
+ "format_ack_line",
|
|
|
+ "format_capability_line",
|
|
|
+ "format_cmd_pkt",
|
|
|
+ "format_ref_line",
|
|
|
+ "format_shallow_line",
|
|
|
+ "format_unshallow_line",
|
|
|
+ "parse_capability",
|
|
|
+ "parse_cmd_pkt",
|
|
|
+ "pkt_line",
|
|
|
+ "pkt_seq",
|
|
|
+ "serialize_refs",
|
|
|
+ "split_peeled_refs",
|
|
|
+ "strip_peeled_refs",
|
|
|
+ "symref_capabilities",
|
|
|
+ "write_info_refs",
|
|
|
+]
|
|
|
+
|
|
|
import types
|
|
|
from collections.abc import Callable, Iterable, Iterator, Mapping, Sequence
|
|
|
from io import BytesIO
|