pando-vcs 3.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pando/__init__.py ADDED
@@ -0,0 +1,5 @@
1
+ """Python client for Pando (https://github.com/kabirnarang39/pando)."""
2
+
3
+ from .client import Changeset, Client, DirEntry, FileChange, IntegrityError
4
+
5
+ __all__ = ["Client", "Changeset", "DirEntry", "FileChange", "IntegrityError"]
pando/_gen/__init__.py ADDED
File without changes
@@ -0,0 +1,48 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: pando_objects.proto
5
+ # Protobuf Python Version: 7.35.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 7,
15
+ 35,
16
+ 1,
17
+ '',
18
+ 'pando_objects.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13pando_objects.proto\x12\x10pando.objects.v1\"K\n\tTreeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x04mode\x18\x02 \x01(\x0e\x32\x16.pando.objects.v1.Mode\x12\n\n\x02id\x18\x03 \x01(\x0c\"4\n\x04Tree\x12,\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x1b.pando.objects.v1.TreeEntry\"N\n\nFileChange\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0c\n\x04\x62lob\x18\x02 \x01(\x0c\x12$\n\x04mode\x18\x03 \x01(\x0e\x32\x16.pando.objects.v1.Mode\"\x82\x01\n\tChangeset\x12\x0f\n\x07parents\x18\x01 \x03(\x0c\x12-\n\x07\x63hanges\x18\x02 \x03(\x0b\x32\x1c.pando.objects.v1.FileChange\x12\x0e\n\x06\x61uthor\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x14\n\x0ctimestamp_ms\x18\x05 \x01(\x03\"#\n\x08\x43hunkRef\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0b\n\x03len\x18\x02 \x01(\x04\"D\n\x08Manifest\x12\x0c\n\x04size\x18\x01 \x01(\x04\x12*\n\x06\x63hunks\x18\x02 \x03(\x0b\x32\x1a.pando.objects.v1.ChunkRef*0\n\x04Mode\x12\x08\n\x04\x46ILE\x10\x00\x12\x08\n\x04\x45XEC\x10\x01\x12\x0b\n\x07SYMLINK\x10\x02\x12\x07\n\x03\x44IR\x10\x03\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pando_objects_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_MODE']._serialized_start=492
35
+ _globals['_MODE']._serialized_end=540
36
+ _globals['_TREEENTRY']._serialized_start=41
37
+ _globals['_TREEENTRY']._serialized_end=116
38
+ _globals['_TREE']._serialized_start=118
39
+ _globals['_TREE']._serialized_end=170
40
+ _globals['_FILECHANGE']._serialized_start=172
41
+ _globals['_FILECHANGE']._serialized_end=250
42
+ _globals['_CHANGESET']._serialized_start=253
43
+ _globals['_CHANGESET']._serialized_end=383
44
+ _globals['_CHUNKREF']._serialized_start=385
45
+ _globals['_CHUNKREF']._serialized_end=420
46
+ _globals['_MANIFEST']._serialized_start=422
47
+ _globals['_MANIFEST']._serialized_end=490
48
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,75 @@
1
+ from google.protobuf.internal import containers as _containers
2
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import message as _message
5
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
6
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
7
+
8
+ DESCRIPTOR: _descriptor.FileDescriptor
9
+
10
+ class Mode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
11
+ __slots__ = ()
12
+ FILE: _ClassVar[Mode]
13
+ EXEC: _ClassVar[Mode]
14
+ SYMLINK: _ClassVar[Mode]
15
+ DIR: _ClassVar[Mode]
16
+ FILE: Mode
17
+ EXEC: Mode
18
+ SYMLINK: Mode
19
+ DIR: Mode
20
+
21
+ class TreeEntry(_message.Message):
22
+ __slots__ = ("name", "mode", "id")
23
+ NAME_FIELD_NUMBER: _ClassVar[int]
24
+ MODE_FIELD_NUMBER: _ClassVar[int]
25
+ ID_FIELD_NUMBER: _ClassVar[int]
26
+ name: str
27
+ mode: Mode
28
+ id: bytes
29
+ def __init__(self, name: _Optional[str] = ..., mode: _Optional[_Union[Mode, str]] = ..., id: _Optional[bytes] = ...) -> None: ...
30
+
31
+ class Tree(_message.Message):
32
+ __slots__ = ("entries",)
33
+ ENTRIES_FIELD_NUMBER: _ClassVar[int]
34
+ entries: _containers.RepeatedCompositeFieldContainer[TreeEntry]
35
+ def __init__(self, entries: _Optional[_Iterable[_Union[TreeEntry, _Mapping]]] = ...) -> None: ...
36
+
37
+ class FileChange(_message.Message):
38
+ __slots__ = ("path", "blob", "mode")
39
+ PATH_FIELD_NUMBER: _ClassVar[int]
40
+ BLOB_FIELD_NUMBER: _ClassVar[int]
41
+ MODE_FIELD_NUMBER: _ClassVar[int]
42
+ path: str
43
+ blob: bytes
44
+ mode: Mode
45
+ def __init__(self, path: _Optional[str] = ..., blob: _Optional[bytes] = ..., mode: _Optional[_Union[Mode, str]] = ...) -> None: ...
46
+
47
+ class Changeset(_message.Message):
48
+ __slots__ = ("parents", "changes", "author", "message", "timestamp_ms")
49
+ PARENTS_FIELD_NUMBER: _ClassVar[int]
50
+ CHANGES_FIELD_NUMBER: _ClassVar[int]
51
+ AUTHOR_FIELD_NUMBER: _ClassVar[int]
52
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
53
+ TIMESTAMP_MS_FIELD_NUMBER: _ClassVar[int]
54
+ parents: _containers.RepeatedScalarFieldContainer[bytes]
55
+ changes: _containers.RepeatedCompositeFieldContainer[FileChange]
56
+ author: str
57
+ message: str
58
+ timestamp_ms: int
59
+ def __init__(self, parents: _Optional[_Iterable[bytes]] = ..., changes: _Optional[_Iterable[_Union[FileChange, _Mapping]]] = ..., author: _Optional[str] = ..., message: _Optional[str] = ..., timestamp_ms: _Optional[int] = ...) -> None: ...
60
+
61
+ class ChunkRef(_message.Message):
62
+ __slots__ = ("id", "len")
63
+ ID_FIELD_NUMBER: _ClassVar[int]
64
+ LEN_FIELD_NUMBER: _ClassVar[int]
65
+ id: bytes
66
+ len: int
67
+ def __init__(self, id: _Optional[bytes] = ..., len: _Optional[int] = ...) -> None: ...
68
+
69
+ class Manifest(_message.Message):
70
+ __slots__ = ("size", "chunks")
71
+ SIZE_FIELD_NUMBER: _ClassVar[int]
72
+ CHUNKS_FIELD_NUMBER: _ClassVar[int]
73
+ size: int
74
+ chunks: _containers.RepeatedCompositeFieldContainer[ChunkRef]
75
+ def __init__(self, size: _Optional[int] = ..., chunks: _Optional[_Iterable[_Union[ChunkRef, _Mapping]]] = ...) -> None: ...
@@ -0,0 +1,132 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: pando.proto
5
+ # Protobuf Python Version: 7.35.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 7,
15
+ 35,
16
+ 1,
17
+ '',
18
+ 'pando.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bpando.proto\x12\x08pando.v1\"\x07\n\x05\x45mpty\"\x13\n\x05IdMsg\x12\n\n\x02id\x18\x01 \x01(\x0c\"\x15\n\x06IdList\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\",\n\rObjectPayload\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"$\n\x12PutObjectsResponse\x12\x0e\n\x06stored\x18\x01 \x01(\r\"6\n\nFileChange\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0c\n\x04\x62lob\x18\x02 \x01(\x0c\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"e\n\rChangesetInfo\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x11\n\troot_tree\x18\x02 \x01(\x0c\x12\x12\n\ngeneration\x18\x03 \x01(\x04\x12\x0f\n\x07\x65ncoded\x18\x04 \x01(\x0c\x12\x10\n\x08redacted\x18\x05 \x01(\x08\"\x87\x01\n\x16\x43reateChangesetRequest\x12\x0f\n\x07parents\x18\x01 \x03(\x0c\x12%\n\x07\x63hanges\x18\x02 \x03(\x0b\x32\x14.pando.v1.FileChange\x12\x0e\n\x06\x61uthor\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x14\n\x0ctimestamp_ms\x18\x05 \x01(\x03\"\x1d\n\x0eResolveRequest\x12\x0b\n\x03rev\x18\x01 \x01(\t\"\x17\n\x07RefName\x12\x0c\n\x04name\x18\x01 \x01(\t\"&\n\x08RefValue\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\x12\n\n\x02id\x18\x02 \x01(\x0c\"P\n\nCasRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rexpect_exists\x18\x02 \x01(\x08\x12\x10\n\x08\x65xpected\x18\x03 \x01(\x0c\x12\x0b\n\x03new\x18\x04 \x01(\x0c\"\x1e\n\x0b\x43\x61sResponse\x12\x0f\n\x07swapped\x18\x01 \x01(\x08\"$\n\x08RefEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x0c\"+\n\x07RefList\x12 \n\x04refs\x18\x01 \x03(\x0b\x32\x12.pando.v1.RefEntry\"-\n\x0bLandRequest\x12\x0b\n\x03ref\x18\x01 \x01(\t\x12\x11\n\tchangeset\x18\x02 \x01(\x0c\"A\n\x0cLandResponse\x12\x0e\n\x06landed\x18\x01 \x01(\x0c\x12\x0f\n\x07rebased\x18\x02 \x01(\x08\x12\x10\n\x08\x61ttempts\x18\x03 \x01(\r\"6\n\nLogRequest\x12\x0b\n\x03rev\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\r\n\x05limit\x18\x03 \x01(\r\")\n\x0c\x42lameRequest\x12\x0b\n\x03rev\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\",\n\tBlameLine\x12\x11\n\tchangeset\x18\x01 \x01(\x0c\x12\x0c\n\x04text\x18\x02 \x01(\t\"3\n\rBlameResponse\x12\"\n\x05lines\x18\x01 \x03(\x0b\x32\x13.pando.v1.BlameLine\"\'\n\x0b\x44iffRequest\x12\x0c\n\x04\x66rom\x18\x01 \x01(\t\x12\n\n\x02to\x18\x02 \x01(\t\"5\n\x0c\x44iffResponse\x12%\n\x07\x63hanges\x18\x01 \x03(\x0b\x32\x14.pando.v1.FileChange\"(\n\x10MergeBaseRequest\x12\t\n\x01\x61\x18\x01 \x01(\t\x12\t\n\x01\x62\x18\x02 \x01(\t\".\n\x11MergeBaseResponse\x12\r\n\x05\x66ound\x18\x01 \x01(\x08\x12\n\n\x02id\x18\x02 \x01(\x0c\"*\n\rBrowseRequest\x12\x0b\n\x03rev\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"2\n\x08\x44irEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04mode\x18\x02 \x01(\x05\x12\n\n\x02id\x18\x03 \x01(\x0c\"6\n\x0fListDirResponse\x12#\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x12.pando.v1.DirEntry\"=\n\x10ReadFileResponse\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\x0c\x12\x0c\n\x04mode\x18\x02 \x01(\x05\x12\n\n\x02id\x18\x03 \x01(\x0c\":\n\x0b\x46indRequest\x12\x0b\n\x03rev\x18\x01 \x01(\t\x12\x0f\n\x07pattern\x18\x02 \x01(\t\x12\r\n\x05limit\x18\x03 \x01(\r\"0\n\x0c\x46indResponse\x12\r\n\x05paths\x18\x01 \x03(\t\x12\x11\n\ttruncated\x18\x02 \x01(\x08\"-\n\x0f\x43heckoutRequest\x12\x0b\n\x03rev\x18\x01 \x01(\t\x12\r\n\x05paths\x18\x02 \x03(\t\"S\n\rCheckoutPiece\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0c\n\x04mode\x18\x02 \x01(\x05\x12\n\n\x02id\x18\x03 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x0c\n\x04last\x18\x05 \x01(\x08\"M\n\x0eWhoAmIResponse\x12\x11\n\tprincipal\x18\x01 \x01(\t\x12\x11\n\tfull_read\x18\x02 \x01(\x08\x12\x15\n\rread_prefixes\x18\x03 \x03(\t\"\x1b\n\x0bLockRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\",\n\rUnlockRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\r\n\x05\x66orce\x18\x02 \x01(\x08\"\"\n\x10ListLocksRequest\x12\x0e\n\x06prefix\x18\x01 \x01(\t\"=\n\x08LockInfo\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\r\n\x05owner\x18\x02 \x01(\t\x12\x14\n\x0clocked_at_ms\x18\x03 \x01(\x03\"-\n\x08LockList\x12!\n\x05locks\x18\x01 \x03(\x0b\x32\x12.pando.v1.LockInfo2\xac\x01\n\x07Objects\x12\x32\n\x03Get\x12\x10.pando.v1.IdList\x1a\x17.pando.v1.ObjectPayload0\x01\x12>\n\x03Put\x12\x17.pando.v1.ObjectPayload\x1a\x1c.pando.v1.PutObjectsResponse(\x01\x12-\n\x07Missing\x12\x10.pando.v1.IdList\x1a\x10.pando.v1.IdList2\x8b\x01\n\nChangesets\x12\x43\n\x06\x43reate\x12 .pando.v1.CreateChangesetRequest\x1a\x17.pando.v1.ChangesetInfo\x12\x38\n\x03Get\x12\x18.pando.v1.ResolveRequest\x1a\x17.pando.v1.ChangesetInfo2\x9f\x01\n\x04Refs\x12,\n\x03Get\x12\x11.pando.v1.RefName\x1a\x12.pando.v1.RefValue\x12=\n\x0e\x43ompareAndSwap\x12\x14.pando.v1.CasRequest\x1a\x15.pando.v1.CasResponse\x12*\n\x04List\x12\x0f.pando.v1.Empty\x1a\x11.pando.v1.RefList2=\n\x04Land\x12\x35\n\x04Land\x12\x15.pando.v1.LandRequest\x1a\x16.pando.v1.LandResponse2{\n\x07History\x12\x36\n\x03Log\x12\x14.pando.v1.LogRequest\x1a\x17.pando.v1.ChangesetInfo0\x01\x12\x38\n\x05\x42lame\x12\x16.pando.v1.BlameRequest\x1a\x17.pando.v1.BlameResponse2=\n\x04\x44iff\x12\x35\n\x04\x44iff\x12\x15.pando.v1.DiffRequest\x1a\x16.pando.v1.DiffResponse2Q\n\tMergeBase\x12\x44\n\tMergeBase\x12\x1a.pando.v1.MergeBaseRequest\x1a\x1b.pando.v1.MergeBaseResponse2\x81\x02\n\x06\x42rowse\x12=\n\x07ListDir\x12\x17.pando.v1.BrowseRequest\x1a\x19.pando.v1.ListDirResponse\x12?\n\x08ReadFile\x12\x17.pando.v1.BrowseRequest\x1a\x1a.pando.v1.ReadFileResponse\x12\x35\n\x04\x46ind\x12\x15.pando.v1.FindRequest\x1a\x16.pando.v1.FindResponse\x12@\n\x08\x43heckout\x12\x19.pando.v1.CheckoutRequest\x1a\x17.pando.v1.CheckoutPiece0\x01\x32=\n\x06\x41\x63\x63\x65ss\x12\x33\n\x06WhoAmI\x12\x0f.pando.v1.Empty\x1a\x18.pando.v1.WhoAmIResponse2\xa6\x01\n\x05Locks\x12\x31\n\x04Lock\x12\x15.pando.v1.LockRequest\x1a\x12.pando.v1.LockInfo\x12\x32\n\x06Unlock\x12\x17.pando.v1.UnlockRequest\x1a\x0f.pando.v1.Empty\x12\x36\n\x04List\x12\x1a.pando.v1.ListLocksRequest\x1a\x12.pando.v1.LockListb\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pando_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_EMPTY']._serialized_start=25
35
+ _globals['_EMPTY']._serialized_end=32
36
+ _globals['_IDMSG']._serialized_start=34
37
+ _globals['_IDMSG']._serialized_end=53
38
+ _globals['_IDLIST']._serialized_start=55
39
+ _globals['_IDLIST']._serialized_end=76
40
+ _globals['_OBJECTPAYLOAD']._serialized_start=78
41
+ _globals['_OBJECTPAYLOAD']._serialized_end=122
42
+ _globals['_PUTOBJECTSRESPONSE']._serialized_start=124
43
+ _globals['_PUTOBJECTSRESPONSE']._serialized_end=160
44
+ _globals['_FILECHANGE']._serialized_start=162
45
+ _globals['_FILECHANGE']._serialized_end=216
46
+ _globals['_CHANGESETINFO']._serialized_start=218
47
+ _globals['_CHANGESETINFO']._serialized_end=319
48
+ _globals['_CREATECHANGESETREQUEST']._serialized_start=322
49
+ _globals['_CREATECHANGESETREQUEST']._serialized_end=457
50
+ _globals['_RESOLVEREQUEST']._serialized_start=459
51
+ _globals['_RESOLVEREQUEST']._serialized_end=488
52
+ _globals['_REFNAME']._serialized_start=490
53
+ _globals['_REFNAME']._serialized_end=513
54
+ _globals['_REFVALUE']._serialized_start=515
55
+ _globals['_REFVALUE']._serialized_end=553
56
+ _globals['_CASREQUEST']._serialized_start=555
57
+ _globals['_CASREQUEST']._serialized_end=635
58
+ _globals['_CASRESPONSE']._serialized_start=637
59
+ _globals['_CASRESPONSE']._serialized_end=667
60
+ _globals['_REFENTRY']._serialized_start=669
61
+ _globals['_REFENTRY']._serialized_end=705
62
+ _globals['_REFLIST']._serialized_start=707
63
+ _globals['_REFLIST']._serialized_end=750
64
+ _globals['_LANDREQUEST']._serialized_start=752
65
+ _globals['_LANDREQUEST']._serialized_end=797
66
+ _globals['_LANDRESPONSE']._serialized_start=799
67
+ _globals['_LANDRESPONSE']._serialized_end=864
68
+ _globals['_LOGREQUEST']._serialized_start=866
69
+ _globals['_LOGREQUEST']._serialized_end=920
70
+ _globals['_BLAMEREQUEST']._serialized_start=922
71
+ _globals['_BLAMEREQUEST']._serialized_end=963
72
+ _globals['_BLAMELINE']._serialized_start=965
73
+ _globals['_BLAMELINE']._serialized_end=1009
74
+ _globals['_BLAMERESPONSE']._serialized_start=1011
75
+ _globals['_BLAMERESPONSE']._serialized_end=1062
76
+ _globals['_DIFFREQUEST']._serialized_start=1064
77
+ _globals['_DIFFREQUEST']._serialized_end=1103
78
+ _globals['_DIFFRESPONSE']._serialized_start=1105
79
+ _globals['_DIFFRESPONSE']._serialized_end=1158
80
+ _globals['_MERGEBASEREQUEST']._serialized_start=1160
81
+ _globals['_MERGEBASEREQUEST']._serialized_end=1200
82
+ _globals['_MERGEBASERESPONSE']._serialized_start=1202
83
+ _globals['_MERGEBASERESPONSE']._serialized_end=1248
84
+ _globals['_BROWSEREQUEST']._serialized_start=1250
85
+ _globals['_BROWSEREQUEST']._serialized_end=1292
86
+ _globals['_DIRENTRY']._serialized_start=1294
87
+ _globals['_DIRENTRY']._serialized_end=1344
88
+ _globals['_LISTDIRRESPONSE']._serialized_start=1346
89
+ _globals['_LISTDIRRESPONSE']._serialized_end=1400
90
+ _globals['_READFILERESPONSE']._serialized_start=1402
91
+ _globals['_READFILERESPONSE']._serialized_end=1463
92
+ _globals['_FINDREQUEST']._serialized_start=1465
93
+ _globals['_FINDREQUEST']._serialized_end=1523
94
+ _globals['_FINDRESPONSE']._serialized_start=1525
95
+ _globals['_FINDRESPONSE']._serialized_end=1573
96
+ _globals['_CHECKOUTREQUEST']._serialized_start=1575
97
+ _globals['_CHECKOUTREQUEST']._serialized_end=1620
98
+ _globals['_CHECKOUTPIECE']._serialized_start=1622
99
+ _globals['_CHECKOUTPIECE']._serialized_end=1705
100
+ _globals['_WHOAMIRESPONSE']._serialized_start=1707
101
+ _globals['_WHOAMIRESPONSE']._serialized_end=1784
102
+ _globals['_LOCKREQUEST']._serialized_start=1786
103
+ _globals['_LOCKREQUEST']._serialized_end=1813
104
+ _globals['_UNLOCKREQUEST']._serialized_start=1815
105
+ _globals['_UNLOCKREQUEST']._serialized_end=1859
106
+ _globals['_LISTLOCKSREQUEST']._serialized_start=1861
107
+ _globals['_LISTLOCKSREQUEST']._serialized_end=1895
108
+ _globals['_LOCKINFO']._serialized_start=1897
109
+ _globals['_LOCKINFO']._serialized_end=1958
110
+ _globals['_LOCKLIST']._serialized_start=1960
111
+ _globals['_LOCKLIST']._serialized_end=2005
112
+ _globals['_OBJECTS']._serialized_start=2008
113
+ _globals['_OBJECTS']._serialized_end=2180
114
+ _globals['_CHANGESETS']._serialized_start=2183
115
+ _globals['_CHANGESETS']._serialized_end=2322
116
+ _globals['_REFS']._serialized_start=2325
117
+ _globals['_REFS']._serialized_end=2484
118
+ _globals['_LAND']._serialized_start=2486
119
+ _globals['_LAND']._serialized_end=2547
120
+ _globals['_HISTORY']._serialized_start=2549
121
+ _globals['_HISTORY']._serialized_end=2672
122
+ _globals['_DIFF']._serialized_start=2674
123
+ _globals['_DIFF']._serialized_end=2735
124
+ _globals['_MERGEBASE']._serialized_start=2737
125
+ _globals['_MERGEBASE']._serialized_end=2818
126
+ _globals['_BROWSE']._serialized_start=2821
127
+ _globals['_BROWSE']._serialized_end=3078
128
+ _globals['_ACCESS']._serialized_start=3080
129
+ _globals['_ACCESS']._serialized_end=3141
130
+ _globals['_LOCKS']._serialized_start=3144
131
+ _globals['_LOCKS']._serialized_end=3310
132
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,326 @@
1
+ from google.protobuf.internal import containers as _containers
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
5
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
6
+
7
+ DESCRIPTOR: _descriptor.FileDescriptor
8
+
9
+ class Empty(_message.Message):
10
+ __slots__ = ()
11
+ def __init__(self) -> None: ...
12
+
13
+ class IdMsg(_message.Message):
14
+ __slots__ = ("id",)
15
+ ID_FIELD_NUMBER: _ClassVar[int]
16
+ id: bytes
17
+ def __init__(self, id: _Optional[bytes] = ...) -> None: ...
18
+
19
+ class IdList(_message.Message):
20
+ __slots__ = ("ids",)
21
+ IDS_FIELD_NUMBER: _ClassVar[int]
22
+ ids: _containers.RepeatedScalarFieldContainer[bytes]
23
+ def __init__(self, ids: _Optional[_Iterable[bytes]] = ...) -> None: ...
24
+
25
+ class ObjectPayload(_message.Message):
26
+ __slots__ = ("id", "payload")
27
+ ID_FIELD_NUMBER: _ClassVar[int]
28
+ PAYLOAD_FIELD_NUMBER: _ClassVar[int]
29
+ id: bytes
30
+ payload: bytes
31
+ def __init__(self, id: _Optional[bytes] = ..., payload: _Optional[bytes] = ...) -> None: ...
32
+
33
+ class PutObjectsResponse(_message.Message):
34
+ __slots__ = ("stored",)
35
+ STORED_FIELD_NUMBER: _ClassVar[int]
36
+ stored: int
37
+ def __init__(self, stored: _Optional[int] = ...) -> None: ...
38
+
39
+ class FileChange(_message.Message):
40
+ __slots__ = ("path", "blob", "mode")
41
+ PATH_FIELD_NUMBER: _ClassVar[int]
42
+ BLOB_FIELD_NUMBER: _ClassVar[int]
43
+ MODE_FIELD_NUMBER: _ClassVar[int]
44
+ path: str
45
+ blob: bytes
46
+ mode: int
47
+ def __init__(self, path: _Optional[str] = ..., blob: _Optional[bytes] = ..., mode: _Optional[int] = ...) -> None: ...
48
+
49
+ class ChangesetInfo(_message.Message):
50
+ __slots__ = ("id", "root_tree", "generation", "encoded", "redacted")
51
+ ID_FIELD_NUMBER: _ClassVar[int]
52
+ ROOT_TREE_FIELD_NUMBER: _ClassVar[int]
53
+ GENERATION_FIELD_NUMBER: _ClassVar[int]
54
+ ENCODED_FIELD_NUMBER: _ClassVar[int]
55
+ REDACTED_FIELD_NUMBER: _ClassVar[int]
56
+ id: bytes
57
+ root_tree: bytes
58
+ generation: int
59
+ encoded: bytes
60
+ redacted: bool
61
+ def __init__(self, id: _Optional[bytes] = ..., root_tree: _Optional[bytes] = ..., generation: _Optional[int] = ..., encoded: _Optional[bytes] = ..., redacted: _Optional[bool] = ...) -> None: ...
62
+
63
+ class CreateChangesetRequest(_message.Message):
64
+ __slots__ = ("parents", "changes", "author", "message", "timestamp_ms")
65
+ PARENTS_FIELD_NUMBER: _ClassVar[int]
66
+ CHANGES_FIELD_NUMBER: _ClassVar[int]
67
+ AUTHOR_FIELD_NUMBER: _ClassVar[int]
68
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
69
+ TIMESTAMP_MS_FIELD_NUMBER: _ClassVar[int]
70
+ parents: _containers.RepeatedScalarFieldContainer[bytes]
71
+ changes: _containers.RepeatedCompositeFieldContainer[FileChange]
72
+ author: str
73
+ message: str
74
+ timestamp_ms: int
75
+ def __init__(self, parents: _Optional[_Iterable[bytes]] = ..., changes: _Optional[_Iterable[_Union[FileChange, _Mapping]]] = ..., author: _Optional[str] = ..., message: _Optional[str] = ..., timestamp_ms: _Optional[int] = ...) -> None: ...
76
+
77
+ class ResolveRequest(_message.Message):
78
+ __slots__ = ("rev",)
79
+ REV_FIELD_NUMBER: _ClassVar[int]
80
+ rev: str
81
+ def __init__(self, rev: _Optional[str] = ...) -> None: ...
82
+
83
+ class RefName(_message.Message):
84
+ __slots__ = ("name",)
85
+ NAME_FIELD_NUMBER: _ClassVar[int]
86
+ name: str
87
+ def __init__(self, name: _Optional[str] = ...) -> None: ...
88
+
89
+ class RefValue(_message.Message):
90
+ __slots__ = ("exists", "id")
91
+ EXISTS_FIELD_NUMBER: _ClassVar[int]
92
+ ID_FIELD_NUMBER: _ClassVar[int]
93
+ exists: bool
94
+ id: bytes
95
+ def __init__(self, exists: _Optional[bool] = ..., id: _Optional[bytes] = ...) -> None: ...
96
+
97
+ class CasRequest(_message.Message):
98
+ __slots__ = ("name", "expect_exists", "expected", "new")
99
+ NAME_FIELD_NUMBER: _ClassVar[int]
100
+ EXPECT_EXISTS_FIELD_NUMBER: _ClassVar[int]
101
+ EXPECTED_FIELD_NUMBER: _ClassVar[int]
102
+ NEW_FIELD_NUMBER: _ClassVar[int]
103
+ name: str
104
+ expect_exists: bool
105
+ expected: bytes
106
+ new: bytes
107
+ def __init__(self, name: _Optional[str] = ..., expect_exists: _Optional[bool] = ..., expected: _Optional[bytes] = ..., new: _Optional[bytes] = ...) -> None: ...
108
+
109
+ class CasResponse(_message.Message):
110
+ __slots__ = ("swapped",)
111
+ SWAPPED_FIELD_NUMBER: _ClassVar[int]
112
+ swapped: bool
113
+ def __init__(self, swapped: _Optional[bool] = ...) -> None: ...
114
+
115
+ class RefEntry(_message.Message):
116
+ __slots__ = ("name", "id")
117
+ NAME_FIELD_NUMBER: _ClassVar[int]
118
+ ID_FIELD_NUMBER: _ClassVar[int]
119
+ name: str
120
+ id: bytes
121
+ def __init__(self, name: _Optional[str] = ..., id: _Optional[bytes] = ...) -> None: ...
122
+
123
+ class RefList(_message.Message):
124
+ __slots__ = ("refs",)
125
+ REFS_FIELD_NUMBER: _ClassVar[int]
126
+ refs: _containers.RepeatedCompositeFieldContainer[RefEntry]
127
+ def __init__(self, refs: _Optional[_Iterable[_Union[RefEntry, _Mapping]]] = ...) -> None: ...
128
+
129
+ class LandRequest(_message.Message):
130
+ __slots__ = ("ref", "changeset")
131
+ REF_FIELD_NUMBER: _ClassVar[int]
132
+ CHANGESET_FIELD_NUMBER: _ClassVar[int]
133
+ ref: str
134
+ changeset: bytes
135
+ def __init__(self, ref: _Optional[str] = ..., changeset: _Optional[bytes] = ...) -> None: ...
136
+
137
+ class LandResponse(_message.Message):
138
+ __slots__ = ("landed", "rebased", "attempts")
139
+ LANDED_FIELD_NUMBER: _ClassVar[int]
140
+ REBASED_FIELD_NUMBER: _ClassVar[int]
141
+ ATTEMPTS_FIELD_NUMBER: _ClassVar[int]
142
+ landed: bytes
143
+ rebased: bool
144
+ attempts: int
145
+ def __init__(self, landed: _Optional[bytes] = ..., rebased: _Optional[bool] = ..., attempts: _Optional[int] = ...) -> None: ...
146
+
147
+ class LogRequest(_message.Message):
148
+ __slots__ = ("rev", "path", "limit")
149
+ REV_FIELD_NUMBER: _ClassVar[int]
150
+ PATH_FIELD_NUMBER: _ClassVar[int]
151
+ LIMIT_FIELD_NUMBER: _ClassVar[int]
152
+ rev: str
153
+ path: str
154
+ limit: int
155
+ def __init__(self, rev: _Optional[str] = ..., path: _Optional[str] = ..., limit: _Optional[int] = ...) -> None: ...
156
+
157
+ class BlameRequest(_message.Message):
158
+ __slots__ = ("rev", "path")
159
+ REV_FIELD_NUMBER: _ClassVar[int]
160
+ PATH_FIELD_NUMBER: _ClassVar[int]
161
+ rev: str
162
+ path: str
163
+ def __init__(self, rev: _Optional[str] = ..., path: _Optional[str] = ...) -> None: ...
164
+
165
+ class BlameLine(_message.Message):
166
+ __slots__ = ("changeset", "text")
167
+ CHANGESET_FIELD_NUMBER: _ClassVar[int]
168
+ TEXT_FIELD_NUMBER: _ClassVar[int]
169
+ changeset: bytes
170
+ text: str
171
+ def __init__(self, changeset: _Optional[bytes] = ..., text: _Optional[str] = ...) -> None: ...
172
+
173
+ class BlameResponse(_message.Message):
174
+ __slots__ = ("lines",)
175
+ LINES_FIELD_NUMBER: _ClassVar[int]
176
+ lines: _containers.RepeatedCompositeFieldContainer[BlameLine]
177
+ def __init__(self, lines: _Optional[_Iterable[_Union[BlameLine, _Mapping]]] = ...) -> None: ...
178
+
179
+ class DiffRequest(_message.Message):
180
+ __slots__ = ("to",)
181
+ FROM_FIELD_NUMBER: _ClassVar[int]
182
+ TO_FIELD_NUMBER: _ClassVar[int]
183
+ to: str
184
+ def __init__(self, to: _Optional[str] = ..., **kwargs) -> None: ...
185
+
186
+ class DiffResponse(_message.Message):
187
+ __slots__ = ("changes",)
188
+ CHANGES_FIELD_NUMBER: _ClassVar[int]
189
+ changes: _containers.RepeatedCompositeFieldContainer[FileChange]
190
+ def __init__(self, changes: _Optional[_Iterable[_Union[FileChange, _Mapping]]] = ...) -> None: ...
191
+
192
+ class MergeBaseRequest(_message.Message):
193
+ __slots__ = ("a", "b")
194
+ A_FIELD_NUMBER: _ClassVar[int]
195
+ B_FIELD_NUMBER: _ClassVar[int]
196
+ a: str
197
+ b: str
198
+ def __init__(self, a: _Optional[str] = ..., b: _Optional[str] = ...) -> None: ...
199
+
200
+ class MergeBaseResponse(_message.Message):
201
+ __slots__ = ("found", "id")
202
+ FOUND_FIELD_NUMBER: _ClassVar[int]
203
+ ID_FIELD_NUMBER: _ClassVar[int]
204
+ found: bool
205
+ id: bytes
206
+ def __init__(self, found: _Optional[bool] = ..., id: _Optional[bytes] = ...) -> None: ...
207
+
208
+ class BrowseRequest(_message.Message):
209
+ __slots__ = ("rev", "path")
210
+ REV_FIELD_NUMBER: _ClassVar[int]
211
+ PATH_FIELD_NUMBER: _ClassVar[int]
212
+ rev: str
213
+ path: str
214
+ def __init__(self, rev: _Optional[str] = ..., path: _Optional[str] = ...) -> None: ...
215
+
216
+ class DirEntry(_message.Message):
217
+ __slots__ = ("name", "mode", "id")
218
+ NAME_FIELD_NUMBER: _ClassVar[int]
219
+ MODE_FIELD_NUMBER: _ClassVar[int]
220
+ ID_FIELD_NUMBER: _ClassVar[int]
221
+ name: str
222
+ mode: int
223
+ id: bytes
224
+ def __init__(self, name: _Optional[str] = ..., mode: _Optional[int] = ..., id: _Optional[bytes] = ...) -> None: ...
225
+
226
+ class ListDirResponse(_message.Message):
227
+ __slots__ = ("entries",)
228
+ ENTRIES_FIELD_NUMBER: _ClassVar[int]
229
+ entries: _containers.RepeatedCompositeFieldContainer[DirEntry]
230
+ def __init__(self, entries: _Optional[_Iterable[_Union[DirEntry, _Mapping]]] = ...) -> None: ...
231
+
232
+ class ReadFileResponse(_message.Message):
233
+ __slots__ = ("content", "mode", "id")
234
+ CONTENT_FIELD_NUMBER: _ClassVar[int]
235
+ MODE_FIELD_NUMBER: _ClassVar[int]
236
+ ID_FIELD_NUMBER: _ClassVar[int]
237
+ content: bytes
238
+ mode: int
239
+ id: bytes
240
+ def __init__(self, content: _Optional[bytes] = ..., mode: _Optional[int] = ..., id: _Optional[bytes] = ...) -> None: ...
241
+
242
+ class FindRequest(_message.Message):
243
+ __slots__ = ("rev", "pattern", "limit")
244
+ REV_FIELD_NUMBER: _ClassVar[int]
245
+ PATTERN_FIELD_NUMBER: _ClassVar[int]
246
+ LIMIT_FIELD_NUMBER: _ClassVar[int]
247
+ rev: str
248
+ pattern: str
249
+ limit: int
250
+ def __init__(self, rev: _Optional[str] = ..., pattern: _Optional[str] = ..., limit: _Optional[int] = ...) -> None: ...
251
+
252
+ class FindResponse(_message.Message):
253
+ __slots__ = ("paths", "truncated")
254
+ PATHS_FIELD_NUMBER: _ClassVar[int]
255
+ TRUNCATED_FIELD_NUMBER: _ClassVar[int]
256
+ paths: _containers.RepeatedScalarFieldContainer[str]
257
+ truncated: bool
258
+ def __init__(self, paths: _Optional[_Iterable[str]] = ..., truncated: _Optional[bool] = ...) -> None: ...
259
+
260
+ class CheckoutRequest(_message.Message):
261
+ __slots__ = ("rev", "paths")
262
+ REV_FIELD_NUMBER: _ClassVar[int]
263
+ PATHS_FIELD_NUMBER: _ClassVar[int]
264
+ rev: str
265
+ paths: _containers.RepeatedScalarFieldContainer[str]
266
+ def __init__(self, rev: _Optional[str] = ..., paths: _Optional[_Iterable[str]] = ...) -> None: ...
267
+
268
+ class CheckoutPiece(_message.Message):
269
+ __slots__ = ("path", "mode", "id", "data", "last")
270
+ PATH_FIELD_NUMBER: _ClassVar[int]
271
+ MODE_FIELD_NUMBER: _ClassVar[int]
272
+ ID_FIELD_NUMBER: _ClassVar[int]
273
+ DATA_FIELD_NUMBER: _ClassVar[int]
274
+ LAST_FIELD_NUMBER: _ClassVar[int]
275
+ path: str
276
+ mode: int
277
+ id: bytes
278
+ data: bytes
279
+ last: bool
280
+ def __init__(self, path: _Optional[str] = ..., mode: _Optional[int] = ..., id: _Optional[bytes] = ..., data: _Optional[bytes] = ..., last: _Optional[bool] = ...) -> None: ...
281
+
282
+ class WhoAmIResponse(_message.Message):
283
+ __slots__ = ("principal", "full_read", "read_prefixes")
284
+ PRINCIPAL_FIELD_NUMBER: _ClassVar[int]
285
+ FULL_READ_FIELD_NUMBER: _ClassVar[int]
286
+ READ_PREFIXES_FIELD_NUMBER: _ClassVar[int]
287
+ principal: str
288
+ full_read: bool
289
+ read_prefixes: _containers.RepeatedScalarFieldContainer[str]
290
+ def __init__(self, principal: _Optional[str] = ..., full_read: _Optional[bool] = ..., read_prefixes: _Optional[_Iterable[str]] = ...) -> None: ...
291
+
292
+ class LockRequest(_message.Message):
293
+ __slots__ = ("path",)
294
+ PATH_FIELD_NUMBER: _ClassVar[int]
295
+ path: str
296
+ def __init__(self, path: _Optional[str] = ...) -> None: ...
297
+
298
+ class UnlockRequest(_message.Message):
299
+ __slots__ = ("path", "force")
300
+ PATH_FIELD_NUMBER: _ClassVar[int]
301
+ FORCE_FIELD_NUMBER: _ClassVar[int]
302
+ path: str
303
+ force: bool
304
+ def __init__(self, path: _Optional[str] = ..., force: _Optional[bool] = ...) -> None: ...
305
+
306
+ class ListLocksRequest(_message.Message):
307
+ __slots__ = ("prefix",)
308
+ PREFIX_FIELD_NUMBER: _ClassVar[int]
309
+ prefix: str
310
+ def __init__(self, prefix: _Optional[str] = ...) -> None: ...
311
+
312
+ class LockInfo(_message.Message):
313
+ __slots__ = ("path", "owner", "locked_at_ms")
314
+ PATH_FIELD_NUMBER: _ClassVar[int]
315
+ OWNER_FIELD_NUMBER: _ClassVar[int]
316
+ LOCKED_AT_MS_FIELD_NUMBER: _ClassVar[int]
317
+ path: str
318
+ owner: str
319
+ locked_at_ms: int
320
+ def __init__(self, path: _Optional[str] = ..., owner: _Optional[str] = ..., locked_at_ms: _Optional[int] = ...) -> None: ...
321
+
322
+ class LockList(_message.Message):
323
+ __slots__ = ("locks",)
324
+ LOCKS_FIELD_NUMBER: _ClassVar[int]
325
+ locks: _containers.RepeatedCompositeFieldContainer[LockInfo]
326
+ def __init__(self, locks: _Optional[_Iterable[_Union[LockInfo, _Mapping]]] = ...) -> None: ...