diff --git a/hgitaly/stub/errors_pb2.py b/hgitaly/stub/errors_pb2.py index 4afe074f4af566aab0259560e94729ce9e7e8681_aGdpdGFseS9zdHViL2Vycm9yc19wYjIucHk=..2fe1bbabf00a52e71d2b99e3dfad51c7f535eb02_aGdpdGFseS9zdHViL2Vycm9yc19wYjIucHk= 100644 --- a/hgitaly/stub/errors_pb2.py +++ b/hgitaly/stub/errors_pb2.py @@ -20,9 +20,9 @@ syntax='proto3', serialized_options=b'Z2gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypb', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0c\x65rrors.proto\x12\x06gitaly\x1a\x1egoogle/protobuf/duration.proto\"]\n\x10\x41\x63\x63\x65ssCheckError\x12\x15\n\rerror_message\x18\x01 \x01(\t\x12\x10\n\x08protocol\x18\x02 \x01(\t\x12\x0f\n\x07user_id\x18\x03 \x01(\t\x12\x0f\n\x07\x63hanges\x18\x04 \x01(\x0c\"%\n\x15InvalidRefFormatError\x12\x0c\n\x04refs\x18\x02 \x03(\x0c\"C\n\x10NotAncestorError\x12\x17\n\x0fparent_revision\x18\x01 \x01(\x0c\x12\x16\n\x0e\x63hild_revision\x18\x02 \x01(\x0c\"\x1c\n\x1a\x43hangesAlreadyAppliedError\"O\n\x12MergeConflictError\x12\x19\n\x11\x63onflicting_files\x18\x01 \x03(\x0c\x12\x1e\n\x16\x63onflicting_commit_ids\x18\x02 \x03(\t\"%\n\x15ReferencesLockedError\x12\x0c\n\x04refs\x18\x01 \x03(\x0c\";\n\x14ReferenceExistsError\x12\x16\n\x0ereference_name\x18\x01 \x01(\x0c\x12\x0b\n\x03oid\x18\x02 \x01(\t\"0\n\x16ReferenceNotFoundError\x12\x16\n\x0ereference_name\x18\x01 \x01(\x0c\"P\n\x14ReferenceUpdateError\x12\x16\n\x0ereference_name\x18\x01 \x01(\x0c\x12\x0f\n\x07old_oid\x18\x02 \x01(\t\x12\x0f\n\x07new_oid\x18\x03 \x01(\t\"(\n\x14ResolveRevisionError\x12\x10\n\x08revision\x18\x01 \x01(\x0c\"S\n\nLimitError\x12\x15\n\rerror_message\x18\x01 \x01(\t\x12.\n\x0bretry_after\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd8\x01\n\x0f\x43ustomHookError\x12\x0e\n\x06stdout\x18\x01 \x01(\x0c\x12\x0e\n\x06stderr\x18\x02 \x01(\x0c\x12\x33\n\thook_type\x18\x03 \x01(\x0e\x32 .gitaly.CustomHookError.HookType\"p\n\x08HookType\x12\x19\n\x15HOOK_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14HOOK_TYPE_PRERECEIVE\x10\x01\x12\x14\n\x10HOOK_TYPE_UPDATE\x10\x02\x12\x19\n\x15HOOK_TYPE_POSTRECEIVE\x10\x03\x42\x34Z2gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypbb\x06proto3' + serialized_pb=b'\n\x0c\x65rrors.proto\x12\x06gitaly\x1a\x1egoogle/protobuf/duration.proto\"]\n\x10\x41\x63\x63\x65ssCheckError\x12\x15\n\rerror_message\x18\x01 \x01(\t\x12\x10\n\x08protocol\x18\x02 \x01(\t\x12\x0f\n\x07user_id\x18\x03 \x01(\t\x12\x0f\n\x07\x63hanges\x18\x04 \x01(\x0c\"\xae\x02\n\nIndexError\x12\x0c\n\x04path\x18\x01 \x01(\x0c\x12\x30\n\nerror_type\x18\x02 \x01(\x0e\x32\x1c.gitaly.IndexError.ErrorType\"\xdf\x01\n\tErrorType\x12\x1a\n\x16\x45RROR_TYPE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x45RROR_TYPE_EMPTY_PATH\x10\x01\x12\x1b\n\x17\x45RROR_TYPE_INVALID_PATH\x10\x02\x12\x1f\n\x1b\x45RROR_TYPE_DIRECTORY_EXISTS\x10\x03\x12\"\n\x1e\x45RROR_TYPE_DIRECTORY_TRAVERSAL\x10\x04\x12\x1a\n\x16\x45RROR_TYPE_FILE_EXISTS\x10\x05\x12\x1d\n\x19\x45RROR_TYPE_FILE_NOT_FOUND\x10\x06\"%\n\x15InvalidRefFormatError\x12\x0c\n\x04refs\x18\x02 \x03(\x0c\"C\n\x10NotAncestorError\x12\x17\n\x0fparent_revision\x18\x01 \x01(\x0c\x12\x16\n\x0e\x63hild_revision\x18\x02 \x01(\x0c\"\x1c\n\x1a\x43hangesAlreadyAppliedError\"O\n\x12MergeConflictError\x12\x19\n\x11\x63onflicting_files\x18\x01 \x03(\x0c\x12\x1e\n\x16\x63onflicting_commit_ids\x18\x02 \x03(\t\"%\n\x15ReferencesLockedError\x12\x0c\n\x04refs\x18\x01 \x03(\x0c\";\n\x14ReferenceExistsError\x12\x16\n\x0ereference_name\x18\x01 \x01(\x0c\x12\x0b\n\x03oid\x18\x02 \x01(\t\"0\n\x16ReferenceNotFoundError\x12\x16\n\x0ereference_name\x18\x01 \x01(\x0c\"P\n\x14ReferenceUpdateError\x12\x16\n\x0ereference_name\x18\x01 \x01(\x0c\x12\x0f\n\x07old_oid\x18\x02 \x01(\t\x12\x0f\n\x07new_oid\x18\x03 \x01(\t\"(\n\x14ResolveRevisionError\x12\x10\n\x08revision\x18\x01 \x01(\x0c\"S\n\nLimitError\x12\x15\n\rerror_message\x18\x01 \x01(\t\x12.\n\x0bretry_after\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd8\x01\n\x0f\x43ustomHookError\x12\x0e\n\x06stdout\x18\x01 \x01(\x0c\x12\x0e\n\x06stderr\x18\x02 \x01(\x0c\x12\x33\n\thook_type\x18\x03 \x01(\x0e\x32 .gitaly.CustomHookError.HookType\"p\n\x08HookType\x12\x19\n\x15HOOK_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14HOOK_TYPE_PRERECEIVE\x10\x01\x12\x14\n\x10HOOK_TYPE_UPDATE\x10\x02\x12\x19\n\x15HOOK_TYPE_POSTRECEIVE\x10\x03\x42\x34Z2gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypbb\x06proto3' , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) @@ -24,8 +24,58 @@ , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) +_INDEXERROR_ERRORTYPE = _descriptor.EnumDescriptor( + name='ErrorType', + full_name='gitaly.IndexError.ErrorType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='ERROR_TYPE_UNSPECIFIED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ERROR_TYPE_EMPTY_PATH', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ERROR_TYPE_INVALID_PATH', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ERROR_TYPE_DIRECTORY_EXISTS', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ERROR_TYPE_DIRECTORY_TRAVERSAL', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ERROR_TYPE_FILE_EXISTS', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ERROR_TYPE_FILE_NOT_FOUND', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=231, + serialized_end=454, +) +_sym_db.RegisterEnumDescriptor(_INDEXERROR_ERRORTYPE) + _CUSTOMHOOKERROR_HOOKTYPE = _descriptor.EnumDescriptor( name='HookType', full_name='gitaly.CustomHookError.HookType', @@ -56,8 +106,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=834, - serialized_end=946, + serialized_start=1139, + serialized_end=1251, ) _sym_db.RegisterEnumDescriptor(_CUSTOMHOOKERROR_HOOKTYPE) @@ -115,6 +165,46 @@ ) +_INDEXERROR = _descriptor.Descriptor( + name='IndexError', + full_name='gitaly.IndexError', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='path', full_name='gitaly.IndexError.path', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='error_type', full_name='gitaly.IndexError.error_type', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _INDEXERROR_ERRORTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=152, + serialized_end=454, +) + + _INVALIDREFFORMATERROR = _descriptor.Descriptor( name='InvalidRefFormatError', full_name='gitaly.InvalidRefFormatError', @@ -142,8 +232,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=151, - serialized_end=188, + serialized_start=456, + serialized_end=493, ) @@ -181,8 +271,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=190, - serialized_end=257, + serialized_start=495, + serialized_end=562, ) @@ -206,8 +296,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=259, - serialized_end=287, + serialized_start=564, + serialized_end=592, ) @@ -245,8 +335,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=289, - serialized_end=368, + serialized_start=594, + serialized_end=673, ) @@ -277,8 +367,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=370, - serialized_end=407, + serialized_start=675, + serialized_end=712, ) @@ -316,8 +406,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=409, - serialized_end=468, + serialized_start=714, + serialized_end=773, ) @@ -348,8 +438,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=470, - serialized_end=518, + serialized_start=775, + serialized_end=823, ) @@ -394,8 +484,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=520, - serialized_end=600, + serialized_start=825, + serialized_end=905, ) @@ -426,8 +516,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=602, - serialized_end=642, + serialized_start=907, + serialized_end=947, ) @@ -465,8 +555,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=644, - serialized_end=727, + serialized_start=949, + serialized_end=1032, ) @@ -512,7 +602,7 @@ extension_ranges=[], oneofs=[ ], - serialized_start=730, - serialized_end=946, + serialized_start=1035, + serialized_end=1251, ) @@ -517,6 +607,8 @@ ) +_INDEXERROR.fields_by_name['error_type'].enum_type = _INDEXERROR_ERRORTYPE +_INDEXERROR_ERRORTYPE.containing_type = _INDEXERROR _LIMITERROR.fields_by_name['retry_after'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _CUSTOMHOOKERROR.fields_by_name['hook_type'].enum_type = _CUSTOMHOOKERROR_HOOKTYPE _CUSTOMHOOKERROR_HOOKTYPE.containing_type = _CUSTOMHOOKERROR DESCRIPTOR.message_types_by_name['AccessCheckError'] = _ACCESSCHECKERROR @@ -519,7 +611,8 @@ _LIMITERROR.fields_by_name['retry_after'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _CUSTOMHOOKERROR.fields_by_name['hook_type'].enum_type = _CUSTOMHOOKERROR_HOOKTYPE _CUSTOMHOOKERROR_HOOKTYPE.containing_type = _CUSTOMHOOKERROR DESCRIPTOR.message_types_by_name['AccessCheckError'] = _ACCESSCHECKERROR +DESCRIPTOR.message_types_by_name['IndexError'] = _INDEXERROR DESCRIPTOR.message_types_by_name['InvalidRefFormatError'] = _INVALIDREFFORMATERROR DESCRIPTOR.message_types_by_name['NotAncestorError'] = _NOTANCESTORERROR DESCRIPTOR.message_types_by_name['ChangesAlreadyAppliedError'] = _CHANGESALREADYAPPLIEDERROR @@ -540,6 +633,13 @@ }) _sym_db.RegisterMessage(AccessCheckError) +IndexError = _reflection.GeneratedProtocolMessageType('IndexError', (_message.Message,), { + 'DESCRIPTOR' : _INDEXERROR, + '__module__' : 'errors_pb2' + # @@protoc_insertion_point(class_scope:gitaly.IndexError) + }) +_sym_db.RegisterMessage(IndexError) + InvalidRefFormatError = _reflection.GeneratedProtocolMessageType('InvalidRefFormatError', (_message.Message,), { 'DESCRIPTOR' : _INVALIDREFFORMATERROR, '__module__' : 'errors_pb2' diff --git a/hgitaly/stub/repository_pb2.py b/hgitaly/stub/repository_pb2.py index 4afe074f4af566aab0259560e94729ce9e7e8681_aGdpdGFseS9zdHViL3JlcG9zaXRvcnlfcGIyLnB5..2fe1bbabf00a52e71d2b99e3dfad51c7f535eb02_aGdpdGFseS9zdHViL3JlcG9zaXRvcnlfcGIyLnB5 100644 --- a/hgitaly/stub/repository_pb2.py +++ b/hgitaly/stub/repository_pb2.py @@ -21,7 +21,7 @@ syntax='proto3', serialized_options=b'Z2gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypb', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x10repository.proto\x12\x06gitaly\x1a\nlint.proto\x1a\x0cshared.proto\"G\n\x17RepositoryExistsRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"*\n\x18RepositoryExistsResponse\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\"H\n\x18RepackIncrementalRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x1b\n\x19RepackIncrementalResponse\"X\n\x11RepackFullRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x15\n\rcreate_bitmap\x18\x02 \x01(\x08\"\x14\n\x12RepackFullResponse\"A\n\x11MidxRepackRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x14\n\x12MidxRepackResponse\"k\n\x15GarbageCollectRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x15\n\rcreate_bitmap\x18\x02 \x01(\x08\x12\r\n\x05prune\x18\x03 \x01(\x08\"\x18\n\x16GarbageCollectResponse\"\xb0\x01\n\x17WriteCommitGraphRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x44\n\rsplitStrategy\x18\x02 \x01(\x0e\x32-.gitaly.WriteCommitGraphRequest.SplitStrategy\"!\n\rSplitStrategy\x12\x10\n\x0cSizeMultiple\x10\x00\"\x1a\n\x18WriteCommitGraphResponse\">\n\x0e\x43leanupRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x11\n\x0f\x43leanupResponse\"E\n\x15RepositorySizeRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"&\n\x16RepositorySizeResponse\x12\x0c\n\x04size\x18\x01 \x01(\x03\"[\n\x19\x41pplyGitattributesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\"\x1c\n\x1a\x41pplyGitattributesResponse\"e\n\x12\x46\x65tchBundleRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x13\n\x0bupdate_head\x18\x03 \x01(\x08\"\x15\n\x13\x46\x65tchBundleResponse\"\x82\x02\n\x12\x46\x65tchRemoteRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\r\n\x05\x66orce\x18\x03 \x01(\x08\x12\x0f\n\x07no_tags\x18\x04 \x01(\x08\x12\x0f\n\x07timeout\x18\x05 \x01(\x05\x12\x0f\n\x07ssh_key\x18\x06 \x01(\t\x12\x13\n\x0bknown_hosts\x18\x07 \x01(\t\x12\x10\n\x08no_prune\x18\t \x01(\x08\x12%\n\rremote_params\x18\n \x01(\x0b\x32\x0e.gitaly.Remote\x12\x1a\n\x12\x63heck_tags_changed\x18\x0b \x01(\x08J\x04\x08\x08\x10\tJ\x04\x08\x02\x10\x03R\x06remote\"+\n\x13\x46\x65tchRemoteResponse\x12\x14\n\x0ctags_changed\x18\x01 \x01(\x08\"_\n\x17\x43reateRepositoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x16\n\x0e\x64\x65\x66\x61ult_branch\x18\x02 \x01(\x0c\"\x1a\n\x18\x43reateRepositoryResponse\"\x99\x02\n\x11GetArchiveRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x11\n\tcommit_id\x18\x02 \x01(\t\x12\x0e\n\x06prefix\x18\x03 \x01(\t\x12\x30\n\x06\x66ormat\x18\x04 \x01(\x0e\x32 .gitaly.GetArchiveRequest.Format\x12\x0c\n\x04path\x18\x05 \x01(\x0c\x12\x0f\n\x07\x65xclude\x18\x06 \x03(\x0c\x12\x12\n\nelide_path\x18\x07 \x01(\x08\x12\x19\n\x11include_lfs_blobs\x18\x08 \x01(\x08\"3\n\x06\x46ormat\x12\x07\n\x03ZIP\x10\x00\x12\x07\n\x03TAR\x10\x01\x12\n\n\x06TAR_GZ\x10\x02\x12\x0b\n\x07TAR_BZ2\x10\x03\"\"\n\x12GetArchiveResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"G\n\x17HasLocalBranchesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\")\n\x18HasLocalBranchesResponse\x12\r\n\x05value\x18\x01 \x01(\x08\"\xa2\x01\n\x18\x46\x65tchSourceBranchRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12-\n\x11source_repository\x18\x02 \x01(\x0b\x32\x12.gitaly.Repository\x12\x15\n\rsource_branch\x18\x03 \x01(\x0c\x12\x12\n\ntarget_ref\x18\x04 \x01(\x0c\"+\n\x19\x46\x65tchSourceBranchResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08\";\n\x0b\x46sckRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x1d\n\x0c\x46sckResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\x0c\"\x89\x01\n\x0fWriteRefRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0b\n\x03ref\x18\x02 \x01(\x0c\x12\x10\n\x08revision\x18\x03 \x01(\x0c\x12\x14\n\x0cold_revision\x18\x04 \x01(\x0c\x12\r\n\x05\x66orce\x18\x05 \x01(\x08J\x04\x08\x06\x10\x07\"\x18\n\x10WriteRefResponseJ\x04\x08\x01\x10\x02\"W\n\x14\x46indMergeBaseRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x11\n\trevisions\x18\x02 \x03(\x0c\"%\n\x15\x46indMergeBaseResponse\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\t\"p\n\x11\x43reateForkRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12-\n\x11source_repository\x18\x02 \x01(\x0b\x32\x12.gitaly.Repository\"\x14\n\x12\x43reateForkResponse\"\xa1\x01\n\x1e\x43reateRepositoryFromURLRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x11\n\thttp_host\x18\x03 \x01(\t\x12!\n\x19http_authorization_header\x18\x04 \x01(\t\x12\x0e\n\x06mirror\x18\x05 \x01(\x08\"!\n\x1f\x43reateRepositoryFromURLResponse\"C\n\x13\x43reateBundleRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"$\n\x14\x43reateBundleResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"`\n\x1e\x43reateBundleFromRefListRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08patterns\x18\x02 \x03(\x0c\"/\n\x1f\x43reateBundleFromRefListResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"@\n\x10GetConfigRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"!\n\x11GetConfigResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"W\n\x19RestoreCustomHooksRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\x1c\n\x1aRestoreCustomHooksResponse\"H\n\x18\x42\x61\x63kupCustomHooksRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\")\n\x19\x42\x61\x63kupCustomHooksResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"_\n!CreateRepositoryFromBundleRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"$\n\"CreateRepositoryFromBundleResponse\"B\n\x12\x46indLicenseRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x8c\x01\n\x13\x46indLicenseResponse\x12\x1a\n\x12license_short_name\x18\x01 \x01(\t\x12\x14\n\x0clicense_name\x18\x02 \x01(\t\x12\x13\n\x0blicense_url\x18\x03 \x01(\t\x12\x14\n\x0clicense_path\x18\x04 \x01(\t\x12\x18\n\x10license_nickname\x18\x05 \x01(\t\"H\n\x18GetInfoAttributesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"/\n\x19GetInfoAttributesResponse\x12\x12\n\nattributes\x18\x01 \x01(\x0c\"H\n\x18\x43\x61lculateChecksumRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"-\n\x19\x43\x61lculateChecksumResponse\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\"B\n\x12GetSnapshotRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"#\n\x13GetSnapshotResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\x8b\x01\n#CreateRepositoryFromSnapshotRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08http_url\x18\x02 \x01(\t\x12\x11\n\thttp_auth\x18\x03 \x01(\t\x12\x11\n\thttp_host\x18\x04 \x01(\t\"&\n$CreateRepositoryFromSnapshotResponse\"p\n\x14GetRawChangesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x15\n\rfrom_revision\x18\x02 \x01(\t\x12\x13\n\x0bto_revision\x18\x03 \x01(\t\"\xbe\x03\n\x15GetRawChangesResponse\x12<\n\x0braw_changes\x18\x01 \x03(\x0b\x32\'.gitaly.GetRawChangesResponse.RawChange\x1a\xe6\x02\n\tRawChange\x12\x0f\n\x07\x62lob_id\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x44\n\toperation\x18\x05 \x01(\x0e\x32\x31.gitaly.GetRawChangesResponse.RawChange.Operation\x12\x15\n\rraw_operation\x18\x06 \x01(\t\x12\x10\n\x08old_mode\x18\x07 \x01(\x05\x12\x10\n\x08new_mode\x18\x08 \x01(\x05\x12\x16\n\x0enew_path_bytes\x18\t \x01(\x0c\x12\x16\n\x0eold_path_bytes\x18\n \x01(\x0c\"i\n\tOperation\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05\x41\x44\x44\x45\x44\x10\x01\x12\n\n\x06\x43OPIED\x10\x02\x12\x0b\n\x07\x44\x45LETED\x10\x03\x12\x0c\n\x08MODIFIED\x10\x04\x12\x0b\n\x07RENAMED\x10\x05\x12\x10\n\x0cTYPE_CHANGED\x10\x06J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05R\x08new_pathR\x08old_path\"t\n\x18SearchFilesByNameRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\r\n\x05query\x18\x02 \x01(\t\x12\x0b\n\x03ref\x18\x03 \x01(\x0c\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\"*\n\x19SearchFilesByNameResponse\x12\r\n\x05\x66iles\x18\x01 \x03(\x0c\"\x81\x01\n\x1bSearchFilesByContentRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\r\n\x05query\x18\x02 \x01(\t\x12\x0b\n\x03ref\x18\x03 \x01(\x0c\x12\x18\n\x10\x63hunked_response\x18\x04 \x01(\x08\"Y\n\x1cSearchFilesByContentResponse\x12\x0f\n\x07matches\x18\x01 \x03(\x0c\x12\x12\n\nmatch_data\x18\x02 \x01(\x0c\x12\x14\n\x0c\x65nd_of_match\x18\x03 \x01(\x08\"o\n\x06Remote\x12\x0b\n\x03url\x18\x01 \x01(\t\x12!\n\x19http_authorization_header\x18\x03 \x01(\t\x12\x16\n\x0emirror_refmaps\x18\x04 \x03(\t\x12\x11\n\thttp_host\x18\x05 \x01(\tJ\x04\x08\x02\x10\x03R\x04name\"M\n\x1dGetObjectDirectorySizeRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\".\n\x1eGetObjectDirectorySizeResponse\x12\x0c\n\x04size\x18\x01 \x01(\x03\"G\n\x17RemoveRepositoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x1a\n\x18RemoveRepositoryResponse\"^\n\x17RenameRepositoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x15\n\rrelative_path\x18\x02 \x01(\t\"\x1a\n\x18RenameRepositoryResponse\"n\n\x1aReplicateRepositoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\"\n\x06source\x18\x02 \x01(\x0b\x32\x12.gitaly.Repository\"\x1d\n\x1bReplicateRepositoryResponse\"I\n\x19OptimizeRepositoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x1c\n\x1aOptimizeRepositoryResponse\"N\n\x1ePruneUnreachableObjectsRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"!\n\x1fPruneUnreachableObjectsResponse\"P\n\x12SetFullPathRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x15\n\x13SetFullPathResponse\"?\n\x0f\x46ullPathRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\" \n\x10\x46ullPathResponse\x12\x0c\n\x04path\x18\x01 \x01(\t2\xe3\x1e\n\x11RepositoryService\x12]\n\x10RepositoryExists\x12\x1f.gitaly.RepositoryExistsRequest\x1a .gitaly.RepositoryExistsResponse\"\x06\xfa\x97(\x02\x08\x02\x12\x63\n\x11RepackIncremental\x12 .gitaly.RepackIncrementalRequest\x1a!.gitaly.RepackIncrementalResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12N\n\nRepackFull\x12\x19.gitaly.RepackFullRequest\x1a\x1a.gitaly.RepackFullResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12N\n\nMidxRepack\x12\x19.gitaly.MidxRepackRequest\x1a\x1a.gitaly.MidxRepackResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12Z\n\x0eGarbageCollect\x12\x1d.gitaly.GarbageCollectRequest\x1a\x1e.gitaly.GarbageCollectResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12`\n\x10WriteCommitGraph\x12\x1f.gitaly.WriteCommitGraphRequest\x1a .gitaly.WriteCommitGraphResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12W\n\x0eRepositorySize\x12\x1d.gitaly.RepositorySizeRequest\x1a\x1e.gitaly.RepositorySizeResponse\"\x06\xfa\x97(\x02\x08\x02\x12\x63\n\x12\x41pplyGitattributes\x12!.gitaly.ApplyGitattributesRequest\x1a\".gitaly.ApplyGitattributesResponse\"\x06\xfa\x97(\x02\x08\x01\x12N\n\x0b\x46\x65tchRemote\x12\x1a.gitaly.FetchRemoteRequest\x1a\x1b.gitaly.FetchRemoteResponse\"\x06\xfa\x97(\x02\x08\x01\x12]\n\x10\x43reateRepository\x12\x1f.gitaly.CreateRepositoryRequest\x1a .gitaly.CreateRepositoryResponse\"\x06\xfa\x97(\x02\x08\x01\x12M\n\nGetArchive\x12\x19.gitaly.GetArchiveRequest\x1a\x1a.gitaly.GetArchiveResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12]\n\x10HasLocalBranches\x12\x1f.gitaly.HasLocalBranchesRequest\x1a .gitaly.HasLocalBranchesResponse\"\x06\xfa\x97(\x02\x08\x02\x12`\n\x11\x46\x65tchSourceBranch\x12 .gitaly.FetchSourceBranchRequest\x1a!.gitaly.FetchSourceBranchResponse\"\x06\xfa\x97(\x02\x08\x01\x12\x39\n\x04\x46sck\x12\x13.gitaly.FsckRequest\x1a\x14.gitaly.FsckResponse\"\x06\xfa\x97(\x02\x08\x02\x12\x45\n\x08WriteRef\x12\x17.gitaly.WriteRefRequest\x1a\x18.gitaly.WriteRefResponse\"\x06\xfa\x97(\x02\x08\x01\x12T\n\rFindMergeBase\x12\x1c.gitaly.FindMergeBaseRequest\x1a\x1d.gitaly.FindMergeBaseResponse\"\x06\xfa\x97(\x02\x08\x02\x12K\n\nCreateFork\x12\x19.gitaly.CreateForkRequest\x1a\x1a.gitaly.CreateForkResponse\"\x06\xfa\x97(\x02\x08\x01\x12r\n\x17\x43reateRepositoryFromURL\x12&.gitaly.CreateRepositoryFromURLRequest\x1a\'.gitaly.CreateRepositoryFromURLResponse\"\x06\xfa\x97(\x02\x08\x01\x12S\n\x0c\x43reateBundle\x12\x1b.gitaly.CreateBundleRequest\x1a\x1c.gitaly.CreateBundleResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12v\n\x17\x43reateBundleFromRefList\x12&.gitaly.CreateBundleFromRefListRequest\x1a\'.gitaly.CreateBundleFromRefListResponse\"\x06\xfa\x97(\x02\x08\x02(\x01\x30\x01\x12P\n\x0b\x46\x65tchBundle\x12\x1a.gitaly.FetchBundleRequest\x1a\x1b.gitaly.FetchBundleResponse\"\x06\xfa\x97(\x02\x08\x01(\x01\x12}\n\x1a\x43reateRepositoryFromBundle\x12).gitaly.CreateRepositoryFromBundleRequest\x1a*.gitaly.CreateRepositoryFromBundleResponse\"\x06\xfa\x97(\x02\x08\x01(\x01\x12J\n\tGetConfig\x12\x18.gitaly.GetConfigRequest\x1a\x19.gitaly.GetConfigResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12N\n\x0b\x46indLicense\x12\x1a.gitaly.FindLicenseRequest\x1a\x1b.gitaly.FindLicenseResponse\"\x06\xfa\x97(\x02\x08\x02\x12\x62\n\x11GetInfoAttributes\x12 .gitaly.GetInfoAttributesRequest\x1a!.gitaly.GetInfoAttributesResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12`\n\x11\x43\x61lculateChecksum\x12 .gitaly.CalculateChecksumRequest\x1a!.gitaly.CalculateChecksumResponse\"\x06\xfa\x97(\x02\x08\x02\x12\x45\n\x07\x43leanup\x12\x16.gitaly.CleanupRequest\x1a\x17.gitaly.CleanupResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12P\n\x0bGetSnapshot\x12\x1a.gitaly.GetSnapshotRequest\x1a\x1b.gitaly.GetSnapshotResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12\x81\x01\n\x1c\x43reateRepositoryFromSnapshot\x12+.gitaly.CreateRepositoryFromSnapshotRequest\x1a,.gitaly.CreateRepositoryFromSnapshotResponse\"\x06\xfa\x97(\x02\x08\x01\x12V\n\rGetRawChanges\x12\x1c.gitaly.GetRawChangesRequest\x1a\x1d.gitaly.GetRawChangesResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12k\n\x14SearchFilesByContent\x12#.gitaly.SearchFilesByContentRequest\x1a$.gitaly.SearchFilesByContentResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12\x62\n\x11SearchFilesByName\x12 .gitaly.SearchFilesByNameRequest\x1a!.gitaly.SearchFilesByNameResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12\x65\n\x12RestoreCustomHooks\x12!.gitaly.RestoreCustomHooksRequest\x1a\".gitaly.RestoreCustomHooksResponse\"\x06\xfa\x97(\x02\x08\x01(\x01\x12\x62\n\x11\x42\x61\x63kupCustomHooks\x12 .gitaly.BackupCustomHooksRequest\x1a!.gitaly.BackupCustomHooksResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12o\n\x16GetObjectDirectorySize\x12%.gitaly.GetObjectDirectorySizeRequest\x1a&.gitaly.GetObjectDirectorySizeResponse\"\x06\xfa\x97(\x02\x08\x02\x12]\n\x10RemoveRepository\x12\x1f.gitaly.RemoveRepositoryRequest\x1a .gitaly.RemoveRepositoryResponse\"\x06\xfa\x97(\x02\x08\x01\x12]\n\x10RenameRepository\x12\x1f.gitaly.RenameRepositoryRequest\x1a .gitaly.RenameRepositoryResponse\"\x06\xfa\x97(\x02\x08\x01\x12\x66\n\x13ReplicateRepository\x12\".gitaly.ReplicateRepositoryRequest\x1a#.gitaly.ReplicateRepositoryResponse\"\x06\xfa\x97(\x02\x08\x01\x12\x63\n\x12OptimizeRepository\x12!.gitaly.OptimizeRepositoryRequest\x1a\".gitaly.OptimizeRepositoryResponse\"\x06\xfa\x97(\x02\x08\x03\x12r\n\x17PruneUnreachableObjects\x12&.gitaly.PruneUnreachableObjectsRequest\x1a\'.gitaly.PruneUnreachableObjectsResponse\"\x06\xfa\x97(\x02\x08\x03\x12N\n\x0bSetFullPath\x12\x1a.gitaly.SetFullPathRequest\x1a\x1b.gitaly.SetFullPathResponse\"\x06\xfa\x97(\x02\x08\x01\x12\x45\n\x08\x46ullPath\x12\x17.gitaly.FullPathRequest\x1a\x18.gitaly.FullPathResponse\"\x06\xfa\x97(\x02\x08\x02\x42\x34Z2gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypbb\x06proto3' + serialized_pb=b'\n\x10repository.proto\x12\x06gitaly\x1a\nlint.proto\x1a\x0cshared.proto\"G\n\x17RepositoryExistsRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"*\n\x18RepositoryExistsResponse\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\"H\n\x18RepackIncrementalRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x1b\n\x19RepackIncrementalResponse\"X\n\x11RepackFullRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x15\n\rcreate_bitmap\x18\x02 \x01(\x08\"\x14\n\x12RepackFullResponse\"A\n\x11MidxRepackRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x14\n\x12MidxRepackResponse\"k\n\x15GarbageCollectRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x15\n\rcreate_bitmap\x18\x02 \x01(\x08\x12\r\n\x05prune\x18\x03 \x01(\x08\"\x18\n\x16GarbageCollectResponse\"\xb0\x01\n\x17WriteCommitGraphRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x44\n\rsplitStrategy\x18\x02 \x01(\x0e\x32-.gitaly.WriteCommitGraphRequest.SplitStrategy\"!\n\rSplitStrategy\x12\x10\n\x0cSizeMultiple\x10\x00\"\x1a\n\x18WriteCommitGraphResponse\">\n\x0e\x43leanupRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x11\n\x0f\x43leanupResponse\"E\n\x15RepositorySizeRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"&\n\x16RepositorySizeResponse\x12\x0c\n\x04size\x18\x01 \x01(\x03\"[\n\x19\x41pplyGitattributesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\"\x1c\n\x1a\x41pplyGitattributesResponse\"e\n\x12\x46\x65tchBundleRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x13\n\x0bupdate_head\x18\x03 \x01(\x08\"\x15\n\x13\x46\x65tchBundleResponse\"\x82\x02\n\x12\x46\x65tchRemoteRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\r\n\x05\x66orce\x18\x03 \x01(\x08\x12\x0f\n\x07no_tags\x18\x04 \x01(\x08\x12\x0f\n\x07timeout\x18\x05 \x01(\x05\x12\x0f\n\x07ssh_key\x18\x06 \x01(\t\x12\x13\n\x0bknown_hosts\x18\x07 \x01(\t\x12\x10\n\x08no_prune\x18\t \x01(\x08\x12%\n\rremote_params\x18\n \x01(\x0b\x32\x0e.gitaly.Remote\x12\x1a\n\x12\x63heck_tags_changed\x18\x0b \x01(\x08J\x04\x08\x08\x10\tJ\x04\x08\x02\x10\x03R\x06remote\"+\n\x13\x46\x65tchRemoteResponse\x12\x14\n\x0ctags_changed\x18\x01 \x01(\x08\"_\n\x17\x43reateRepositoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x16\n\x0e\x64\x65\x66\x61ult_branch\x18\x02 \x01(\x0c\"\x1a\n\x18\x43reateRepositoryResponse\"\x99\x02\n\x11GetArchiveRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x11\n\tcommit_id\x18\x02 \x01(\t\x12\x0e\n\x06prefix\x18\x03 \x01(\t\x12\x30\n\x06\x66ormat\x18\x04 \x01(\x0e\x32 .gitaly.GetArchiveRequest.Format\x12\x0c\n\x04path\x18\x05 \x01(\x0c\x12\x0f\n\x07\x65xclude\x18\x06 \x03(\x0c\x12\x12\n\nelide_path\x18\x07 \x01(\x08\x12\x19\n\x11include_lfs_blobs\x18\x08 \x01(\x08\"3\n\x06\x46ormat\x12\x07\n\x03ZIP\x10\x00\x12\x07\n\x03TAR\x10\x01\x12\n\n\x06TAR_GZ\x10\x02\x12\x0b\n\x07TAR_BZ2\x10\x03\"\"\n\x12GetArchiveResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"G\n\x17HasLocalBranchesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\")\n\x18HasLocalBranchesResponse\x12\r\n\x05value\x18\x01 \x01(\x08\"\xa2\x01\n\x18\x46\x65tchSourceBranchRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12-\n\x11source_repository\x18\x02 \x01(\x0b\x32\x12.gitaly.Repository\x12\x15\n\rsource_branch\x18\x03 \x01(\x0c\x12\x12\n\ntarget_ref\x18\x04 \x01(\x0c\"+\n\x19\x46\x65tchSourceBranchResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08\";\n\x0b\x46sckRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x1d\n\x0c\x46sckResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\x0c\"\x89\x01\n\x0fWriteRefRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0b\n\x03ref\x18\x02 \x01(\x0c\x12\x10\n\x08revision\x18\x03 \x01(\x0c\x12\x14\n\x0cold_revision\x18\x04 \x01(\x0c\x12\r\n\x05\x66orce\x18\x05 \x01(\x08J\x04\x08\x06\x10\x07\"\x18\n\x10WriteRefResponseJ\x04\x08\x01\x10\x02\"W\n\x14\x46indMergeBaseRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x11\n\trevisions\x18\x02 \x03(\x0c\"%\n\x15\x46indMergeBaseResponse\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\t\"p\n\x11\x43reateForkRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12-\n\x11source_repository\x18\x02 \x01(\x0b\x32\x12.gitaly.Repository\"\x14\n\x12\x43reateForkResponse\"\xbf\x01\n\x1e\x43reateRepositoryFromURLRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x15\n\thttp_host\x18\x03 \x01(\tB\x02\x18\x01\x12!\n\x19http_authorization_header\x18\x04 \x01(\t\x12\x0e\n\x06mirror\x18\x05 \x01(\x08\x12\x18\n\x10resolved_address\x18\x06 \x01(\t\"!\n\x1f\x43reateRepositoryFromURLResponse\"C\n\x13\x43reateBundleRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"$\n\x14\x43reateBundleResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"`\n\x1e\x43reateBundleFromRefListRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08patterns\x18\x02 \x03(\x0c\"/\n\x1f\x43reateBundleFromRefListResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"@\n\x10GetConfigRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"!\n\x11GetConfigResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"W\n\x19RestoreCustomHooksRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\x1c\n\x1aRestoreCustomHooksResponse\"H\n\x18\x42\x61\x63kupCustomHooksRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\")\n\x19\x42\x61\x63kupCustomHooksResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"_\n!CreateRepositoryFromBundleRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"$\n\"CreateRepositoryFromBundleResponse\"B\n\x12\x46indLicenseRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x8c\x01\n\x13\x46indLicenseResponse\x12\x1a\n\x12license_short_name\x18\x01 \x01(\t\x12\x14\n\x0clicense_name\x18\x02 \x01(\t\x12\x13\n\x0blicense_url\x18\x03 \x01(\t\x12\x14\n\x0clicense_path\x18\x04 \x01(\t\x12\x18\n\x10license_nickname\x18\x05 \x01(\t\"H\n\x18GetInfoAttributesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"/\n\x19GetInfoAttributesResponse\x12\x12\n\nattributes\x18\x01 \x01(\x0c\"H\n\x18\x43\x61lculateChecksumRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"-\n\x19\x43\x61lculateChecksumResponse\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\"B\n\x12GetSnapshotRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"#\n\x13GetSnapshotResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\xa9\x01\n#CreateRepositoryFromSnapshotRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08http_url\x18\x02 \x01(\t\x12\x11\n\thttp_auth\x18\x03 \x01(\t\x12\x15\n\thttp_host\x18\x04 \x01(\tB\x02\x18\x01\x12\x18\n\x10resolved_address\x18\x05 \x01(\t\"&\n$CreateRepositoryFromSnapshotResponse\"p\n\x14GetRawChangesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x15\n\rfrom_revision\x18\x02 \x01(\t\x12\x13\n\x0bto_revision\x18\x03 \x01(\t\"\xbe\x03\n\x15GetRawChangesResponse\x12<\n\x0braw_changes\x18\x01 \x03(\x0b\x32\'.gitaly.GetRawChangesResponse.RawChange\x1a\xe6\x02\n\tRawChange\x12\x0f\n\x07\x62lob_id\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x44\n\toperation\x18\x05 \x01(\x0e\x32\x31.gitaly.GetRawChangesResponse.RawChange.Operation\x12\x15\n\rraw_operation\x18\x06 \x01(\t\x12\x10\n\x08old_mode\x18\x07 \x01(\x05\x12\x10\n\x08new_mode\x18\x08 \x01(\x05\x12\x16\n\x0enew_path_bytes\x18\t \x01(\x0c\x12\x16\n\x0eold_path_bytes\x18\n \x01(\x0c\"i\n\tOperation\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05\x41\x44\x44\x45\x44\x10\x01\x12\n\n\x06\x43OPIED\x10\x02\x12\x0b\n\x07\x44\x45LETED\x10\x03\x12\x0c\n\x08MODIFIED\x10\x04\x12\x0b\n\x07RENAMED\x10\x05\x12\x10\n\x0cTYPE_CHANGED\x10\x06J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05R\x08new_pathR\x08old_path\"\x93\x01\n\x18SearchFilesByNameRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\r\n\x05query\x18\x02 \x01(\t\x12\x0b\n\x03ref\x18\x03 \x01(\x0c\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x0e\n\x06offset\x18\x06 \x01(\r\"*\n\x19SearchFilesByNameResponse\x12\r\n\x05\x66iles\x18\x01 \x03(\x0c\"\x81\x01\n\x1bSearchFilesByContentRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\r\n\x05query\x18\x02 \x01(\t\x12\x0b\n\x03ref\x18\x03 \x01(\x0c\x12\x18\n\x10\x63hunked_response\x18\x04 \x01(\x08\"Y\n\x1cSearchFilesByContentResponse\x12\x0f\n\x07matches\x18\x01 \x03(\x0c\x12\x12\n\nmatch_data\x18\x02 \x01(\x0c\x12\x14\n\x0c\x65nd_of_match\x18\x03 \x01(\x08\"\x8d\x01\n\x06Remote\x12\x0b\n\x03url\x18\x01 \x01(\t\x12!\n\x19http_authorization_header\x18\x03 \x01(\t\x12\x16\n\x0emirror_refmaps\x18\x04 \x03(\t\x12\x15\n\thttp_host\x18\x05 \x01(\tB\x02\x18\x01\x12\x18\n\x10resolved_address\x18\x06 \x01(\tJ\x04\x08\x02\x10\x03R\x04name\"M\n\x1dGetObjectDirectorySizeRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\".\n\x1eGetObjectDirectorySizeResponse\x12\x0c\n\x04size\x18\x01 \x01(\x03\"G\n\x17RemoveRepositoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x1a\n\x18RemoveRepositoryResponse\"^\n\x17RenameRepositoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x15\n\rrelative_path\x18\x02 \x01(\t\"\x1a\n\x18RenameRepositoryResponse\"n\n\x1aReplicateRepositoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\"\n\x06source\x18\x02 \x01(\x0b\x32\x12.gitaly.Repository\"\x1d\n\x1bReplicateRepositoryResponse\"I\n\x19OptimizeRepositoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"\x1c\n\x1aOptimizeRepositoryResponse\"N\n\x1ePruneUnreachableObjectsRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"!\n\x1fPruneUnreachableObjectsResponse\"P\n\x12SetFullPathRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x15\n\x13SetFullPathResponse\"?\n\x0f\x46ullPathRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\" \n\x10\x46ullPathResponse\x12\x0c\n\x04path\x18\x01 \x01(\t2\xe3\x1e\n\x11RepositoryService\x12]\n\x10RepositoryExists\x12\x1f.gitaly.RepositoryExistsRequest\x1a .gitaly.RepositoryExistsResponse\"\x06\xfa\x97(\x02\x08\x02\x12\x63\n\x11RepackIncremental\x12 .gitaly.RepackIncrementalRequest\x1a!.gitaly.RepackIncrementalResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12N\n\nRepackFull\x12\x19.gitaly.RepackFullRequest\x1a\x1a.gitaly.RepackFullResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12N\n\nMidxRepack\x12\x19.gitaly.MidxRepackRequest\x1a\x1a.gitaly.MidxRepackResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12Z\n\x0eGarbageCollect\x12\x1d.gitaly.GarbageCollectRequest\x1a\x1e.gitaly.GarbageCollectResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12`\n\x10WriteCommitGraph\x12\x1f.gitaly.WriteCommitGraphRequest\x1a .gitaly.WriteCommitGraphResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12W\n\x0eRepositorySize\x12\x1d.gitaly.RepositorySizeRequest\x1a\x1e.gitaly.RepositorySizeResponse\"\x06\xfa\x97(\x02\x08\x02\x12\x63\n\x12\x41pplyGitattributes\x12!.gitaly.ApplyGitattributesRequest\x1a\".gitaly.ApplyGitattributesResponse\"\x06\xfa\x97(\x02\x08\x01\x12N\n\x0b\x46\x65tchRemote\x12\x1a.gitaly.FetchRemoteRequest\x1a\x1b.gitaly.FetchRemoteResponse\"\x06\xfa\x97(\x02\x08\x01\x12]\n\x10\x43reateRepository\x12\x1f.gitaly.CreateRepositoryRequest\x1a .gitaly.CreateRepositoryResponse\"\x06\xfa\x97(\x02\x08\x01\x12M\n\nGetArchive\x12\x19.gitaly.GetArchiveRequest\x1a\x1a.gitaly.GetArchiveResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12]\n\x10HasLocalBranches\x12\x1f.gitaly.HasLocalBranchesRequest\x1a .gitaly.HasLocalBranchesResponse\"\x06\xfa\x97(\x02\x08\x02\x12`\n\x11\x46\x65tchSourceBranch\x12 .gitaly.FetchSourceBranchRequest\x1a!.gitaly.FetchSourceBranchResponse\"\x06\xfa\x97(\x02\x08\x01\x12\x39\n\x04\x46sck\x12\x13.gitaly.FsckRequest\x1a\x14.gitaly.FsckResponse\"\x06\xfa\x97(\x02\x08\x02\x12\x45\n\x08WriteRef\x12\x17.gitaly.WriteRefRequest\x1a\x18.gitaly.WriteRefResponse\"\x06\xfa\x97(\x02\x08\x01\x12T\n\rFindMergeBase\x12\x1c.gitaly.FindMergeBaseRequest\x1a\x1d.gitaly.FindMergeBaseResponse\"\x06\xfa\x97(\x02\x08\x02\x12K\n\nCreateFork\x12\x19.gitaly.CreateForkRequest\x1a\x1a.gitaly.CreateForkResponse\"\x06\xfa\x97(\x02\x08\x01\x12r\n\x17\x43reateRepositoryFromURL\x12&.gitaly.CreateRepositoryFromURLRequest\x1a\'.gitaly.CreateRepositoryFromURLResponse\"\x06\xfa\x97(\x02\x08\x01\x12S\n\x0c\x43reateBundle\x12\x1b.gitaly.CreateBundleRequest\x1a\x1c.gitaly.CreateBundleResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12v\n\x17\x43reateBundleFromRefList\x12&.gitaly.CreateBundleFromRefListRequest\x1a\'.gitaly.CreateBundleFromRefListResponse\"\x06\xfa\x97(\x02\x08\x02(\x01\x30\x01\x12P\n\x0b\x46\x65tchBundle\x12\x1a.gitaly.FetchBundleRequest\x1a\x1b.gitaly.FetchBundleResponse\"\x06\xfa\x97(\x02\x08\x01(\x01\x12}\n\x1a\x43reateRepositoryFromBundle\x12).gitaly.CreateRepositoryFromBundleRequest\x1a*.gitaly.CreateRepositoryFromBundleResponse\"\x06\xfa\x97(\x02\x08\x01(\x01\x12J\n\tGetConfig\x12\x18.gitaly.GetConfigRequest\x1a\x19.gitaly.GetConfigResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12N\n\x0b\x46indLicense\x12\x1a.gitaly.FindLicenseRequest\x1a\x1b.gitaly.FindLicenseResponse\"\x06\xfa\x97(\x02\x08\x02\x12\x62\n\x11GetInfoAttributes\x12 .gitaly.GetInfoAttributesRequest\x1a!.gitaly.GetInfoAttributesResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12`\n\x11\x43\x61lculateChecksum\x12 .gitaly.CalculateChecksumRequest\x1a!.gitaly.CalculateChecksumResponse\"\x06\xfa\x97(\x02\x08\x02\x12\x45\n\x07\x43leanup\x12\x16.gitaly.CleanupRequest\x1a\x17.gitaly.CleanupResponse\"\t\x88\x02\x01\xfa\x97(\x02\x08\x03\x12P\n\x0bGetSnapshot\x12\x1a.gitaly.GetSnapshotRequest\x1a\x1b.gitaly.GetSnapshotResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12\x81\x01\n\x1c\x43reateRepositoryFromSnapshot\x12+.gitaly.CreateRepositoryFromSnapshotRequest\x1a,.gitaly.CreateRepositoryFromSnapshotResponse\"\x06\xfa\x97(\x02\x08\x01\x12V\n\rGetRawChanges\x12\x1c.gitaly.GetRawChangesRequest\x1a\x1d.gitaly.GetRawChangesResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12k\n\x14SearchFilesByContent\x12#.gitaly.SearchFilesByContentRequest\x1a$.gitaly.SearchFilesByContentResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12\x62\n\x11SearchFilesByName\x12 .gitaly.SearchFilesByNameRequest\x1a!.gitaly.SearchFilesByNameResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12\x65\n\x12RestoreCustomHooks\x12!.gitaly.RestoreCustomHooksRequest\x1a\".gitaly.RestoreCustomHooksResponse\"\x06\xfa\x97(\x02\x08\x01(\x01\x12\x62\n\x11\x42\x61\x63kupCustomHooks\x12 .gitaly.BackupCustomHooksRequest\x1a!.gitaly.BackupCustomHooksResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12o\n\x16GetObjectDirectorySize\x12%.gitaly.GetObjectDirectorySizeRequest\x1a&.gitaly.GetObjectDirectorySizeResponse\"\x06\xfa\x97(\x02\x08\x02\x12]\n\x10RemoveRepository\x12\x1f.gitaly.RemoveRepositoryRequest\x1a .gitaly.RemoveRepositoryResponse\"\x06\xfa\x97(\x02\x08\x01\x12]\n\x10RenameRepository\x12\x1f.gitaly.RenameRepositoryRequest\x1a .gitaly.RenameRepositoryResponse\"\x06\xfa\x97(\x02\x08\x01\x12\x66\n\x13ReplicateRepository\x12\".gitaly.ReplicateRepositoryRequest\x1a#.gitaly.ReplicateRepositoryResponse\"\x06\xfa\x97(\x02\x08\x01\x12\x63\n\x12OptimizeRepository\x12!.gitaly.OptimizeRepositoryRequest\x1a\".gitaly.OptimizeRepositoryResponse\"\x06\xfa\x97(\x02\x08\x03\x12r\n\x17PruneUnreachableObjects\x12&.gitaly.PruneUnreachableObjectsRequest\x1a\'.gitaly.PruneUnreachableObjectsResponse\"\x06\xfa\x97(\x02\x08\x03\x12N\n\x0bSetFullPath\x12\x1a.gitaly.SetFullPathRequest\x1a\x1b.gitaly.SetFullPathResponse\"\x06\xfa\x97(\x02\x08\x01\x12\x45\n\x08\x46ullPath\x12\x17.gitaly.FullPathRequest\x1a\x18.gitaly.FullPathResponse\"\x06\xfa\x97(\x02\x08\x02\x42\x34Z2gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypbb\x06proto3' , dependencies=[lint__pb2.DESCRIPTOR,shared__pb2.DESCRIPTOR,]) @@ -127,8 +127,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=4950, - serialized_end=5055, + serialized_start=5010, + serialized_end=5115, ) _sym_db.RegisterEnumDescriptor(_GETRAWCHANGESRESPONSE_RAWCHANGE_OPERATION) @@ -1526,7 +1526,7 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + serialized_options=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='http_authorization_header', full_name='gitaly.CreateRepositoryFromURLRequest.http_authorization_header', index=3, number=4, type=9, cpp_type=9, label=1, @@ -1541,6 +1541,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='resolved_address', full_name='gitaly.CreateRepositoryFromURLRequest.resolved_address', index=5, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1554,7 +1561,7 @@ oneofs=[ ], serialized_start=2860, - serialized_end=3021, + serialized_end=3051, ) @@ -1578,8 +1585,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3023, - serialized_end=3056, + serialized_start=3053, + serialized_end=3086, ) @@ -1610,8 +1617,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3058, - serialized_end=3125, + serialized_start=3088, + serialized_end=3155, ) @@ -1642,8 +1649,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3127, - serialized_end=3163, + serialized_start=3157, + serialized_end=3193, ) @@ -1681,8 +1688,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3165, - serialized_end=3261, + serialized_start=3195, + serialized_end=3291, ) @@ -1713,8 +1720,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3263, - serialized_end=3310, + serialized_start=3293, + serialized_end=3340, ) @@ -1745,8 +1752,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3312, - serialized_end=3376, + serialized_start=3342, + serialized_end=3406, ) @@ -1777,8 +1784,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3378, - serialized_end=3411, + serialized_start=3408, + serialized_end=3441, ) @@ -1816,8 +1823,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3413, - serialized_end=3500, + serialized_start=3443, + serialized_end=3530, ) @@ -1841,8 +1848,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3502, - serialized_end=3530, + serialized_start=3532, + serialized_end=3560, ) @@ -1873,8 +1880,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3532, - serialized_end=3604, + serialized_start=3562, + serialized_end=3634, ) @@ -1905,8 +1912,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3606, - serialized_end=3647, + serialized_start=3636, + serialized_end=3677, ) @@ -1944,8 +1951,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3649, - serialized_end=3744, + serialized_start=3679, + serialized_end=3774, ) @@ -1969,8 +1976,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3746, - serialized_end=3782, + serialized_start=3776, + serialized_end=3812, ) @@ -2001,8 +2008,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3784, - serialized_end=3850, + serialized_start=3814, + serialized_end=3880, ) @@ -2061,8 +2068,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3853, - serialized_end=3993, + serialized_start=3883, + serialized_end=4023, ) @@ -2093,8 +2100,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3995, - serialized_end=4067, + serialized_start=4025, + serialized_end=4097, ) @@ -2125,8 +2132,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4069, - serialized_end=4116, + serialized_start=4099, + serialized_end=4146, ) @@ -2157,8 +2164,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4118, - serialized_end=4190, + serialized_start=4148, + serialized_end=4220, ) @@ -2189,8 +2196,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4192, - serialized_end=4237, + serialized_start=4222, + serialized_end=4267, ) @@ -2221,8 +2228,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4239, - serialized_end=4305, + serialized_start=4269, + serialized_end=4335, ) @@ -2253,8 +2260,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4307, - serialized_end=4342, + serialized_start=4337, + serialized_end=4372, ) @@ -2293,6 +2300,13 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, + serialized_options=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='resolved_address', full_name='gitaly.CreateRepositoryFromSnapshotRequest.resolved_address', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ @@ -2306,8 +2320,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4345, - serialized_end=4484, + serialized_start=4375, + serialized_end=4544, ) @@ -2331,8 +2345,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4486, - serialized_end=4524, + serialized_start=4546, + serialized_end=4584, ) @@ -2377,8 +2391,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4526, - serialized_end=4638, + serialized_start=4586, + serialized_end=4698, ) @@ -2459,8 +2473,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4729, - serialized_end=5087, + serialized_start=4789, + serialized_end=5147, ) _GETRAWCHANGESRESPONSE = _descriptor.Descriptor( @@ -2490,8 +2504,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4641, - serialized_end=5087, + serialized_start=4701, + serialized_end=5147, ) @@ -2531,6 +2545,20 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='limit', full_name='gitaly.SearchFilesByNameRequest.limit', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='offset', full_name='gitaly.SearchFilesByNameRequest.offset', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -2543,8 +2571,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5089, - serialized_end=5205, + serialized_start=5150, + serialized_end=5297, ) @@ -2575,8 +2603,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5207, - serialized_end=5249, + serialized_start=5299, + serialized_end=5341, ) @@ -2628,8 +2656,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5252, - serialized_end=5381, + serialized_start=5344, + serialized_end=5473, ) @@ -2674,8 +2702,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5383, - serialized_end=5472, + serialized_start=5475, + serialized_end=5564, ) @@ -2714,6 +2742,13 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, + serialized_options=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='resolved_address', full_name='gitaly.Remote.resolved_address', index=4, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ @@ -2727,8 +2762,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5474, - serialized_end=5585, + serialized_start=5567, + serialized_end=5708, ) @@ -2759,8 +2794,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5587, - serialized_end=5664, + serialized_start=5710, + serialized_end=5787, ) @@ -2791,8 +2826,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5666, - serialized_end=5712, + serialized_start=5789, + serialized_end=5835, ) @@ -2823,8 +2858,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5714, - serialized_end=5785, + serialized_start=5837, + serialized_end=5908, ) @@ -2848,8 +2883,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5787, - serialized_end=5813, + serialized_start=5910, + serialized_end=5936, ) @@ -2887,8 +2922,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5815, - serialized_end=5909, + serialized_start=5938, + serialized_end=6032, ) @@ -2912,8 +2947,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5911, - serialized_end=5937, + serialized_start=6034, + serialized_end=6060, ) @@ -2951,8 +2986,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5939, - serialized_end=6049, + serialized_start=6062, + serialized_end=6172, ) @@ -2976,8 +3011,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6051, - serialized_end=6080, + serialized_start=6174, + serialized_end=6203, ) @@ -3008,8 +3043,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6082, - serialized_end=6155, + serialized_start=6205, + serialized_end=6278, ) @@ -3033,8 +3068,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6157, - serialized_end=6185, + serialized_start=6280, + serialized_end=6308, ) @@ -3065,8 +3100,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6187, - serialized_end=6265, + serialized_start=6310, + serialized_end=6388, ) @@ -3090,8 +3125,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6267, - serialized_end=6300, + serialized_start=6390, + serialized_end=6423, ) @@ -3129,8 +3164,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6302, - serialized_end=6382, + serialized_start=6425, + serialized_end=6505, ) @@ -3154,8 +3189,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6384, - serialized_end=6405, + serialized_start=6507, + serialized_end=6528, ) @@ -3186,8 +3221,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6407, - serialized_end=6470, + serialized_start=6530, + serialized_end=6593, ) @@ -3218,8 +3253,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6472, - serialized_end=6504, + serialized_start=6595, + serialized_end=6627, ) _REPOSITORYEXISTSREQUEST.fields_by_name['repository'].message_type = shared__pb2._REPOSITORY @@ -3988,6 +4023,7 @@ _FINDMERGEBASEREQUEST.fields_by_name['repository']._options = None _CREATEFORKREQUEST.fields_by_name['repository']._options = None _CREATEREPOSITORYFROMURLREQUEST.fields_by_name['repository']._options = None +_CREATEREPOSITORYFROMURLREQUEST.fields_by_name['http_host']._options = None _CREATEBUNDLEREQUEST.fields_by_name['repository']._options = None _CREATEBUNDLEFROMREFLISTREQUEST.fields_by_name['repository']._options = None _GETCONFIGREQUEST.fields_by_name['repository']._options = None @@ -3999,6 +4035,7 @@ _CALCULATECHECKSUMREQUEST.fields_by_name['repository']._options = None _GETSNAPSHOTREQUEST.fields_by_name['repository']._options = None _CREATEREPOSITORYFROMSNAPSHOTREQUEST.fields_by_name['repository']._options = None +_CREATEREPOSITORYFROMSNAPSHOTREQUEST.fields_by_name['http_host']._options = None _GETRAWCHANGESREQUEST.fields_by_name['repository']._options = None _SEARCHFILESBYNAMEREQUEST.fields_by_name['repository']._options = None _SEARCHFILESBYCONTENTREQUEST.fields_by_name['repository']._options = None @@ -4002,6 +4039,7 @@ _GETRAWCHANGESREQUEST.fields_by_name['repository']._options = None _SEARCHFILESBYNAMEREQUEST.fields_by_name['repository']._options = None _SEARCHFILESBYCONTENTREQUEST.fields_by_name['repository']._options = None +_REMOTE.fields_by_name['http_host']._options = None _GETOBJECTDIRECTORYSIZEREQUEST.fields_by_name['repository']._options = None _REMOVEREPOSITORYREQUEST.fields_by_name['repository']._options = None _RENAMEREPOSITORYREQUEST.fields_by_name['repository']._options = None @@ -4018,8 +4056,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=6507, - serialized_end=10446, + serialized_start=6630, + serialized_end=10569, methods=[ _descriptor.MethodDescriptor( name='RepositoryExists', diff --git a/protos/errors.proto b/protos/errors.proto index 4afe074f4af566aab0259560e94729ce9e7e8681_cHJvdG9zL2Vycm9ycy5wcm90bw==..2fe1bbabf00a52e71d2b99e3dfad51c7f535eb02_cHJvdG9zL2Vycm9ycy5wcm90bw== 100644 --- a/protos/errors.proto +++ b/protos/errors.proto @@ -19,6 +19,35 @@ bytes changes = 4; } +// IndexError is an error returned when an operation fails to due a conflict with +// the repository index. +message IndexError { + // ErrorType is the type of error encountered on the index operation. + enum ErrorType { + // ERROR_TYPE_UNSPECIFIED is the default error type and should never be set. + ERROR_TYPE_UNSPECIFIED = 0; + // ERROR_TYPE_EMPTY_PATH indicates an empty path was provided by the caller. + ERROR_TYPE_EMPTY_PATH = 1; + // ERROR_TYPE_INVALID_PATH indicates a path either contained '.git', or was + // incorrectly formated, e.g. invalid://file/path. + ERROR_TYPE_INVALID_PATH = 2; + // ERROR_TYPE_DIRECTORY_EXISTS indicates the directory being created already exists. + ERROR_TYPE_DIRECTORY_EXISTS = 3; + // ERROR_TYPE_DIRECTORY_TRAVERSAL indicates the path contains a directory traversal + // sequence. + ERROR_TYPE_DIRECTORY_TRAVERSAL = 4; + // ERROR_TYPE_FILE_EXISTS indicates the file being created already exists. + ERROR_TYPE_FILE_EXISTS = 5; + // ERROR_TYPE_FILE_NOT_FOUND indicates the file being updated does not exist. + ERROR_TYPE_FILE_NOT_FOUND = 6; + }; + + // Path is the file or directory path that triggered the error. + bytes path = 1; + // ErrorType is the type of index error that occurred. + ErrorType error_type = 2; +} + // InvalidRefFormatError is an error returned when refs have an invalid format. message InvalidRefFormatError { // Refs are the offending refs with invalid formats. diff --git a/protos/operations.proto b/protos/operations.proto index 4afe074f4af566aab0259560e94729ce9e7e8681_cHJvdG9zL29wZXJhdGlvbnMucHJvdG8=..2fe1bbabf00a52e71d2b99e3dfad51c7f535eb02_cHJvdG9zL29wZXJhdGlvbnMucHJvdG8= 100644 --- a/protos/operations.proto +++ b/protos/operations.proto @@ -181,9 +181,9 @@ message UserCreateBranchResponse { // This comment is left unintentionally blank. Branch branch = 1; - // Error returned by the pre-receive hook. If no error was thrown, - // it's the empty string ("") - string pre_receive_error = 2; + // pre_receive_error is deprecated and never set by Gitaly. Instead, Gitaly returns a structured + // error with the `custom_hook` field set. This field will be removed in v16.0. + string pre_receive_error = 2 [deprecated=true]; } // UserCreateBranchError is an error returned by the UserCreateBranch RPC in some specific well @@ -233,7 +233,7 @@ // UserDeleteBranchResponse is a response for the UserDeleteBranch RPC. message UserDeleteBranchResponse { // PreReceiveError is never set anymore. This RPC will instead return a UserDeleteBranchError for - // a subset of well-defined error cases. + // a subset of well-defined error cases. This field will be removed in v16.0. string pre_receive_error = 1 [deprecated=true]; } @@ -294,11 +294,13 @@ message UserCreateTagResponse { // tag is the newly created tag. Tag tag = 1; - // exists denotes whether the tag has existed already. - bool exists = 2; - // pre_receive_error contains an error message if updating the tag failed - // because of a pre-receive error. - string pre_receive_error = 3; + // exists is deprecated and never set by Gitaly. Instead, Gitaly returns a structured error with + // the `reference_exists` field set. This field will be removed in v16.0. + bool exists = 2 [deprecated=true]; + // pre_receive_error is deprecated and never set by Gitaly. Instead, Gitaly returns a structured + // error with either of the `access_check`, `reference_update` or `custom_hook` fields being set + // depending on the error condition. This field will be removed in v16.0. + string pre_receive_error = 3 [deprecated=true]; } // UserCreateTagError includes error descriptions which may be set as error details in case @@ -502,17 +504,19 @@ // branch_update represents details about the updated branch. OperationBranchUpdate branch_update = 1; - // create_tree_error contains the error message if creation of the tree - // failed. - string create_tree_error = 2; - // commit_error contains the error message if updating the reference failed. - string commit_error = 3; - // pre_receive_error contains the error message if the pre-receive hook - // failed. - string pre_receive_error = 4; - // create_tree_error_code contains the error code if creation of the tree - // failed. - CreateTreeError create_tree_error_code = 5; + // create_tree_error is deprecated and never set by Gitaly. Instead, Gitaly returns a structured + // error with the `cherry_pick_conflict` or `changes_already_applied` field set. This field will + // be removed in v16.0. + string create_tree_error = 2 [deprecated=true]; + // commit_error is deprecated and never set by Gitaly. Instead, Gitaly returns a structured + // error with the `target_branch_diverged` field set. This field will be removed in v16.0. + string commit_error = 3 [deprecated=true]; + // pre_receive_error is deprecated and never set by Gitaly. Instead, Gitaly returns a structured + // error with the `access_check` field set. This field will be removed in v16.0. + string pre_receive_error = 4 [deprecated=true]; + // create_tree_error_code is deprecated and never set by Gitaly. There is no replacement. This + // field will be removed in v16.0. + CreateTreeError create_tree_error_code = 5 [deprecated=true]; } // UserCherryPickError is an error returned by the UserCherryPick RPC. @@ -707,6 +711,21 @@ string pre_receive_error = 3; } +// UserCommitFilesError is an error returned by the UserCommitFiles RPC in some specific well +// defined error cases. +message UserCommitFilesError { + oneof error { + // AccessCheckError is set if the RPC failed because `/internal/allowed` failed. + AccessCheckError access_check = 1; + // IndexError is set to the error message when an operation conflicts with the repository + // index, such as creating a file that already exists. + IndexError index_update = 2; + // CustomHook is set if any custom hook which has running as part of this RPC call has returned + // a non-zero exit code. + CustomHookError custom_hook = 3; + } +} + // This comment is left unintentionally blank. message UserRebaseConfirmableRequest { // Header contains information to compute the rebase and must be sent as diff --git a/protos/remote.proto b/protos/remote.proto index 4afe074f4af566aab0259560e94729ce9e7e8681_cHJvdG9zL3JlbW90ZS5wcm90bw==..2fe1bbabf00a52e71d2b99e3dfad51c7f535eb02_cHJvdG9zL3JlbW90ZS5wcm90bw== 100644 --- a/protos/remote.proto +++ b/protos/remote.proto @@ -53,8 +53,16 @@ string http_authorization_header = 2; // HttpHost is the hostname of the remote repository. Use this when the // URL hostname has already been resolved to an IP address to prevent DNS - // rebinding. - string http_host = 3; + // rebinding. This is deprecated as we will be using resolved_address + // going forward. + string http_host = 3 [deprecated=true]; + // ResolvedAddress holds the resolved IP address of the remote_url. This is + // used to avoid DNS rebinding by mapping the url to the resolved address. + // Only IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped + // IPv6 ("::ffff:192.0.2.1") forms are supported. + // Works with HTTP/HTTPS/Git/SSH protocols. + // Optional. + string resolved_address = 4; } // Repository is the repository whose mirror repository to update. @@ -121,8 +129,16 @@ string http_authorization_header = 4; // HttpHost is the hostname of the remote repository. Use this when the // URL hostname has already been resolved to an IP address to prevent DNS - // rebinding. - string http_host = 5; + // rebinding. This is deprecated as we will be using resolved_address + // going forward. + string http_host = 5 [deprecated=true]; + // ResolvedAddress holds the resolved IP address of the remote_url. This is + // used to avoid DNS rebinding by mapping the url to the resolved address. + // Only IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped + // IPv6 ("::ffff:192.0.2.1") forms are supported. + // Works with HTTP/HTTPS/Git/SSH protocols. + // Optional. + string resolved_address = 6; reserved 2; reserved "remote"; diff --git a/protos/repository.proto b/protos/repository.proto index 4afe074f4af566aab0259560e94729ce9e7e8681_cHJvdG9zL3JlcG9zaXRvcnkucHJvdG8=..2fe1bbabf00a52e71d2b99e3dfad51c7f535eb02_cHJvdG9zL3JlcG9zaXRvcnkucHJvdG8= 100644 --- a/protos/repository.proto +++ b/protos/repository.proto @@ -672,8 +672,9 @@ string url = 2; // HttpHost is the hostname of the remote repository. Use this when the // URL hostname has already been resolved to an IP address to prevent DNS - // rebinding. - string http_host = 3; + // rebinding. This is deprecated as we will be using resolved_address + // going forward. + string http_host = 3 [deprecated=true]; // http_authorization_header is the HTTP header which can be added to // the request in order to authenticate against the repository. string http_authorization_header = 4; @@ -683,6 +684,13 @@ // repository. If set to `true`, create a complete mirror-clone which maps all // remote references into the local repository. bool mirror = 5; + // ResolvedAddress holds the resolved IP address of the remote_url. This is + // used to avoid DNS rebinding by mapping the url to the resolved address. + // Only IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped + // IPv6 ("::ffff:192.0.2.1") forms are supported. + // Works with HTTP/HTTPS/Git/SSH protocols. + // Optional. + string resolved_address = 6; } // This comment is left unintentionally blank. @@ -838,8 +846,16 @@ string http_auth = 3; // HttpHost is the hostname of the remote snapshot. Use this when the // URL hostname has already been resolved to an IP address to prevent DNS - // rebinding. - string http_host = 4; + // rebinding. This is deprecated as we will be using resolved_address + // going forward. + string http_host = 4 [deprecated=true]; + // ResolvedAddress holds the resolved IP address of the remote_url. This is + // used to avoid DNS rebinding by mapping the url to the resolved address. + // Only IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped + // IPv6 ("::ffff:192.0.2.1") forms are supported. + // Works with HTTP/HTTPS protocols. + // Optional. + string resolved_address = 5; } // This comment is left unintentionally blank. @@ -923,6 +939,12 @@ // excluding backreferences, atomic/possesive operators, and some other // features. It has a maximum length of 1000 bytes. string filter = 4; + // Limit the number of returned files. Gitaly does not enforce a limit by default. + // Clients should always set a value for this field. limit = 0 means unlimited files. + uint32 limit = 5; + // `offset` says to skip that many files before beginning to return files. + // offset = 0 means starting to return files from beginning. + uint32 offset = 6; } // This comment is left unintentionally blank. @@ -974,8 +996,15 @@ repeated string mirror_refmaps = 4; // HttpHost is the hostname of the remote repository. Use this when the // URL hostname has already been resolved to an IP address to prevent DNS - // rebinding. - string http_host = 5; + // rebinding. This is deprecated as this field is/was never used. + string http_host = 5 [deprecated=true]; + // ResolvedAddress holds the resolved IP address of the remote_url. This is + // used to avoid DNS rebinding by mapping the url to the resolved address. + // Only IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped + // IPv6 ("::ffff:192.0.2.1") forms are supported. + // Works with HTTP/HTTPS/Git/SSH protocols. + // Optional. + string resolved_address = 6; // Previously, it was possible to specify a remote name. This was quite a // dangerous field to set though: the name was simply used to create an ad-hoc