hgitaly 18.5.0a0__tar.gz → 18.5.1__tar.gz

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.
Files changed (311) hide show
  1. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/PKG-INFO +1 -1
  2. hgitaly-18.5.1/hgitaly/VERSION +1 -0
  3. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/server/mono.py +6 -0
  4. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/commit.py +1 -1
  5. hgitaly-18.5.1/hgitaly/service/mercurial_namespace.py +101 -0
  6. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/ref.py +3 -0
  7. hgitaly-18.5.1/hgitaly/service/tests/test_mercurial_namespace.py +93 -0
  8. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/analysis_pb2_grpc.py +1 -1
  9. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/blob_pb2_grpc.py +1 -1
  10. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/commit_pb2_grpc.py +1 -1
  11. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/diff_pb2_grpc.py +1 -1
  12. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/errors_pb2_grpc.py +1 -1
  13. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/lint_pb2_grpc.py +1 -1
  14. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/mercurial_aux_git_pb2_grpc.py +1 -1
  15. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/mercurial_changeset_pb2_grpc.py +1 -1
  16. hgitaly-18.5.1/hgitaly/stub/mercurial_namespace_pb2.py +42 -0
  17. hgitaly-18.5.1/hgitaly/stub/mercurial_namespace_pb2_grpc.py +143 -0
  18. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/mercurial_operations_pb2_grpc.py +1 -1
  19. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/mercurial_repository_pb2_grpc.py +1 -1
  20. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/operations_pb2_grpc.py +1 -1
  21. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/ref_pb2_grpc.py +1 -1
  22. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/remote_pb2_grpc.py +1 -1
  23. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/repository_pb2_grpc.py +1 -1
  24. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/server_pb2_grpc.py +1 -1
  25. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/shared_pb2_grpc.py +1 -1
  26. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly.egg-info/PKG-INFO +1 -1
  27. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly.egg-info/SOURCES.txt +4 -136
  28. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_commit.py +11 -0
  29. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_ref.py +4 -0
  30. hgitaly-18.5.0a0/.coveragerc +0 -5
  31. hgitaly-18.5.0a0/.gitlab-ci.yml +0 -154
  32. hgitaly-18.5.0a0/.hgignore +0 -36
  33. hgitaly-18.5.0a0/.hgtags +0 -175
  34. hgitaly-18.5.0a0/ci/heptapod-sftp-push +0 -31
  35. hgitaly-18.5.0a0/ci/heptapod-sign-package +0 -34
  36. hgitaly-18.5.0a0/ci/heptapod_known_hosts.ssh +0 -4
  37. hgitaly-18.5.0a0/ci/upload-rhgitaly +0 -43
  38. hgitaly-18.5.0a0/conftest.py +0 -100
  39. hgitaly-18.5.0a0/dev-requirements.txt +0 -2
  40. hgitaly-18.5.0a0/examples/client.py +0 -48
  41. hgitaly-18.5.0a0/examples/client_list_lcft.py +0 -55
  42. hgitaly-18.5.0a0/generate-stubs +0 -34
  43. hgitaly-18.5.0a0/hgitaly/VERSION +0 -1
  44. hgitaly-18.5.0a0/hgitaly/testing/data/authorized_keys +0 -1
  45. hgitaly-18.5.0a0/hgitaly/testing/data/backup_additional_no_git.tar +0 -0
  46. hgitaly-18.5.0a0/hgitaly/testing/data/id_ecdsa_user +0 -38
  47. hgitaly-18.5.0a0/hgitaly/testing/data/known_hosts +0 -2
  48. hgitaly-18.5.0a0/hgitaly/testing/data/ssh_host_ecdsa_key +0 -9
  49. hgitaly-18.5.0a0/hgitaly/testing/data/ssh_host_ecdsa_key.pub +0 -1
  50. hgitaly-18.5.0a0/hgitaly/testing/data/ssh_host_ed25519 +0 -8
  51. hgitaly-18.5.0a0/hgitaly/testing/data/ssh_host_ed25519.pub +0 -1
  52. hgitaly-18.5.0a0/hgitaly/testing/data/sshd_config +0 -17
  53. hgitaly-18.5.0a0/lint +0 -7
  54. hgitaly-18.5.0a0/protos/analysis.proto +0 -62
  55. hgitaly-18.5.0a0/protos/blob.proto +0 -299
  56. hgitaly-18.5.0a0/protos/cleanup.proto +0 -88
  57. hgitaly-18.5.0a0/protos/cluster.proto +0 -229
  58. hgitaly-18.5.0a0/protos/commit.proto +0 -1000
  59. hgitaly-18.5.0a0/protos/conflicts.proto +0 -137
  60. hgitaly-18.5.0a0/protos/diff.proto +0 -644
  61. hgitaly-18.5.0a0/protos/errors.proto +0 -234
  62. hgitaly-18.5.0a0/protos/hook.proto +0 -205
  63. hgitaly-18.5.0a0/protos/internal.proto +0 -37
  64. hgitaly-18.5.0a0/protos/lint.proto +0 -75
  65. hgitaly-18.5.0a0/protos/log.proto +0 -137
  66. hgitaly-18.5.0a0/protos/mercurial-aux-git.proto +0 -53
  67. hgitaly-18.5.0a0/protos/mercurial-changeset.proto +0 -96
  68. hgitaly-18.5.0a0/protos/mercurial-operations.proto +0 -264
  69. hgitaly-18.5.0a0/protos/mercurial-repository.proto +0 -364
  70. hgitaly-18.5.0a0/protos/namespace.proto +0 -98
  71. hgitaly-18.5.0a0/protos/objectpool.proto +0 -173
  72. hgitaly-18.5.0a0/protos/operations.proto +0 -1161
  73. hgitaly-18.5.0a0/protos/packfile.proto +0 -26
  74. hgitaly-18.5.0a0/protos/partition.proto +0 -70
  75. hgitaly-18.5.0a0/protos/praefect.proto +0 -222
  76. hgitaly-18.5.0a0/protos/ref.proto +0 -600
  77. hgitaly-18.5.0a0/protos/remote.proto +0 -153
  78. hgitaly-18.5.0a0/protos/repository.proto +0 -1458
  79. hgitaly-18.5.0a0/protos/server.proto +0 -123
  80. hgitaly-18.5.0a0/protos/service_config.proto +0 -86
  81. hgitaly-18.5.0a0/protos/shared.proto +0 -248
  82. hgitaly-18.5.0a0/protos/smarthttp.proto +0 -121
  83. hgitaly-18.5.0a0/protos/ssh.proto +0 -109
  84. hgitaly-18.5.0a0/protos/transaction.proto +0 -104
  85. hgitaly-18.5.0a0/protos/wiki.proto +0 -211
  86. hgitaly-18.5.0a0/ruby/.ruby-version +0 -1
  87. hgitaly-18.5.0a0/ruby/Gemfile +0 -5
  88. hgitaly-18.5.0a0/ruby/README.md +0 -48
  89. hgitaly-18.5.0a0/ruby/generate-grpc-lib +0 -63
  90. hgitaly-18.5.0a0/ruby/hgitaly.gemspec +0 -25
  91. hgitaly-18.5.0a0/ruby/lib/hgitaly/mercurial-aux-git_pb.rb +0 -25
  92. hgitaly-18.5.0a0/ruby/lib/hgitaly/mercurial-aux-git_services_pb.rb +0 -31
  93. hgitaly-18.5.0a0/ruby/lib/hgitaly/mercurial-changeset_pb.rb +0 -69
  94. hgitaly-18.5.0a0/ruby/lib/hgitaly/mercurial-changeset_services_pb.rb +0 -25
  95. hgitaly-18.5.0a0/ruby/lib/hgitaly/mercurial-operations_pb.rb +0 -157
  96. hgitaly-18.5.0a0/ruby/lib/hgitaly/mercurial-operations_services_pb.rb +0 -55
  97. hgitaly-18.5.0a0/ruby/lib/hgitaly/mercurial-repository_pb.rb +0 -163
  98. hgitaly-18.5.0a0/ruby/lib/hgitaly/mercurial-repository_services_pb.rb +0 -79
  99. hgitaly-18.5.0a0/ruby/lib/hgitaly/version.rb +0 -4
  100. hgitaly-18.5.0a0/ruby/lib/hgitaly.rb +0 -13
  101. hgitaly-18.5.0a0/ruby/run.rb +0 -39
  102. hgitaly-18.5.0a0/run-all-tests +0 -24
  103. hgitaly-18.5.0a0/rust/Cargo.lock +0 -3898
  104. hgitaly-18.5.0a0/rust/Cargo.toml +0 -4
  105. hgitaly-18.5.0a0/rust/Makefile +0 -77
  106. hgitaly-18.5.0a0/rust/build-from-tarball.sh +0 -30
  107. hgitaly-18.5.0a0/rust/check-line-width +0 -48
  108. hgitaly-18.5.0a0/rust/dependencies/README.md +0 -19
  109. hgitaly-18.5.0a0/rust/dependencies/mercurial.patch +0 -63
  110. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/any.proto +0 -158
  111. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/api.proto +0 -208
  112. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/compiler/plugin.proto +0 -183
  113. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/descriptor.proto +0 -911
  114. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/duration.proto +0 -116
  115. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/empty.proto +0 -52
  116. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/field_mask.proto +0 -245
  117. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/source_context.proto +0 -48
  118. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/struct.proto +0 -95
  119. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/timestamp.proto +0 -147
  120. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/type.proto +0 -187
  121. hgitaly-18.5.0a0/rust/dependencies/proto/google/protobuf/wrappers.proto +0 -123
  122. hgitaly-18.5.0a0/rust/go-enry.rev +0 -1
  123. hgitaly-18.5.0a0/rust/lint +0 -14
  124. hgitaly-18.5.0a0/rust/mercurial.rev +0 -1
  125. hgitaly-18.5.0a0/rust/rhgitaly/Cargo.toml +0 -56
  126. hgitaly-18.5.0a0/rust/rhgitaly/build.rs +0 -92
  127. hgitaly-18.5.0a0/rust/rhgitaly/clippy.toml +0 -6
  128. hgitaly-18.5.0a0/rust/rhgitaly/src/bundle.rs +0 -282
  129. hgitaly-18.5.0a0/rust/rhgitaly/src/config.rs +0 -172
  130. hgitaly-18.5.0a0/rust/rhgitaly/src/errors.rs +0 -141
  131. hgitaly-18.5.0a0/rust/rhgitaly/src/generated/README.md +0 -7
  132. hgitaly-18.5.0a0/rust/rhgitaly/src/git.rs +0 -293
  133. hgitaly-18.5.0a0/rust/rhgitaly/src/gitlab/reference.rs +0 -83
  134. hgitaly-18.5.0a0/rust/rhgitaly/src/gitlab/revision.rs +0 -320
  135. hgitaly-18.5.0a0/rust/rhgitaly/src/gitlab/state.rs +0 -832
  136. hgitaly-18.5.0a0/rust/rhgitaly/src/glob.rs +0 -233
  137. hgitaly-18.5.0a0/rust/rhgitaly/src/lib.rs +0 -47
  138. hgitaly-18.5.0a0/rust/rhgitaly/src/main.rs +0 -147
  139. hgitaly-18.5.0a0/rust/rhgitaly/src/mercurial.rs +0 -33
  140. hgitaly-18.5.0a0/rust/rhgitaly/src/message.rs +0 -468
  141. hgitaly-18.5.0a0/rust/rhgitaly/src/metadata.rs +0 -93
  142. hgitaly-18.5.0a0/rust/rhgitaly/src/oid.rs +0 -86
  143. hgitaly-18.5.0a0/rust/rhgitaly/src/process.rs +0 -39
  144. hgitaly-18.5.0a0/rust/rhgitaly/src/repository/spawner.rs +0 -576
  145. hgitaly-18.5.0a0/rust/rhgitaly/src/repository.rs +0 -622
  146. hgitaly-18.5.0a0/rust/rhgitaly/src/service/analysis.rs +0 -183
  147. hgitaly-18.5.0a0/rust/rhgitaly/src/service/blob.rs +0 -260
  148. hgitaly-18.5.0a0/rust/rhgitaly/src/service/commit/find_commits.rs +0 -206
  149. hgitaly-18.5.0a0/rust/rhgitaly/src/service/commit/get_tree_entries.rs +0 -291
  150. hgitaly-18.5.0a0/rust/rhgitaly/src/service/commit/last_commits.rs +0 -569
  151. hgitaly-18.5.0a0/rust/rhgitaly/src/service/commit/tree_entry.rs +0 -154
  152. hgitaly-18.5.0a0/rust/rhgitaly/src/service/commit.rs +0 -654
  153. hgitaly-18.5.0a0/rust/rhgitaly/src/service/diff.rs +0 -137
  154. hgitaly-18.5.0a0/rust/rhgitaly/src/service/mercurial_aux_git.rs +0 -213
  155. hgitaly-18.5.0a0/rust/rhgitaly/src/service/mercurial_repository.rs +0 -496
  156. hgitaly-18.5.0a0/rust/rhgitaly/src/service/ref.rs +0 -487
  157. hgitaly-18.5.0a0/rust/rhgitaly/src/service/remote.rs +0 -793
  158. hgitaly-18.5.0a0/rust/rhgitaly/src/service/repository.rs +0 -1021
  159. hgitaly-18.5.0a0/rust/rhgitaly/src/service/server.rs +0 -60
  160. hgitaly-18.5.0a0/rust/rhgitaly/src/sidecar.rs +0 -234
  161. hgitaly-18.5.0a0/rust/rhgitaly/src/ssh.rs +0 -102
  162. hgitaly-18.5.0a0/rust/rhgitaly/src/streaming.rs +0 -402
  163. hgitaly-18.5.0a0/rust/rhgitaly/src/util.rs +0 -132
  164. hgitaly-18.5.0a0/rust/rs-enry.rev +0 -1
  165. hgitaly-18.5.0a0/rust/src-tarball.sh +0 -70
  166. hgitaly-18.5.0a0/test-requirements.txt +0 -8
  167. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/LICENSE +0 -0
  168. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/MANIFEST.in +0 -0
  169. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/README.md +0 -0
  170. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgext3rd/__init__.py +0 -0
  171. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgext3rd/hgitaly/__init__.py +0 -0
  172. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgext3rd/hgitaly/revset.py +0 -0
  173. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgext3rd/hgitaly/tests/__init__.py +0 -0
  174. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgext3rd/hgitaly/tests/test_revset.py +0 -0
  175. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgext3rd/hgitaly/tests/test_serve.py +0 -0
  176. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/__init__.py +0 -0
  177. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/branch.py +0 -0
  178. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/changelog.py +0 -0
  179. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/diff.py +0 -0
  180. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/errors.py +0 -0
  181. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/feature.py +0 -0
  182. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/file_content.py +0 -0
  183. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/file_context.py +0 -0
  184. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/git.py +0 -0
  185. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/gitlab_ref.py +0 -0
  186. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/identification.py +0 -0
  187. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/logging.py +0 -0
  188. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/manifest.py +0 -0
  189. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/message.py +0 -0
  190. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/oid.py +0 -0
  191. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/pagination.py +0 -0
  192. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/path.py +0 -0
  193. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/peer.py +0 -0
  194. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/procutil.py +0 -0
  195. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/repository.py +0 -0
  196. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/revision.py +0 -0
  197. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/revset.py +0 -0
  198. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/scripts.py +0 -0
  199. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/server/__init__.py +0 -0
  200. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/server/address.py +0 -0
  201. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/server/prefork.py +0 -0
  202. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/server/tests/__init__.py +0 -0
  203. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/server/tests/test_address.py +0 -0
  204. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/server/tests/test_mono.py +0 -0
  205. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/server/tests/test_prefork.py +0 -0
  206. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/server/tests/test_worker.py +0 -0
  207. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/server/worker.py +0 -0
  208. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/__init__.py +0 -0
  209. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/analysis.py +0 -0
  210. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/blob.py +0 -0
  211. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/diff.py +0 -0
  212. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/interceptors.py +0 -0
  213. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/mercurial_changeset.py +0 -0
  214. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/mercurial_operations.py +0 -0
  215. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/mercurial_repository.py +0 -0
  216. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/operations.py +0 -0
  217. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/repository.py +0 -0
  218. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/server.py +0 -0
  219. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/__init__.py +0 -0
  220. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/fixture.py +0 -0
  221. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_analysis.py +0 -0
  222. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_blob.py +0 -0
  223. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_commit.py +0 -0
  224. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_default_branch.py +0 -0
  225. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_diff.py +0 -0
  226. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_mercurial_changeset.py +0 -0
  227. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_mercurial_operations.py +0 -0
  228. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_mercurial_repository.py +0 -0
  229. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_operations.py +0 -0
  230. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_ref.py +0 -0
  231. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_repository_service.py +0 -0
  232. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/service/tests/test_server.py +0 -0
  233. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/servicer.py +0 -0
  234. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/ssh.py +0 -0
  235. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stream.py +0 -0
  236. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/__init__.py +0 -0
  237. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/analysis_pb2.py +0 -0
  238. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/blob_pb2.py +0 -0
  239. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/commit_pb2.py +0 -0
  240. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/diff_pb2.py +0 -0
  241. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/errors_pb2.py +0 -0
  242. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/lint_pb2.py +0 -0
  243. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/mercurial_aux_git_pb2.py +0 -0
  244. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/mercurial_changeset_pb2.py +0 -0
  245. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/mercurial_operations_pb2.py +0 -0
  246. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/mercurial_repository_pb2.py +0 -0
  247. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/operations_pb2.py +0 -0
  248. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/ref_pb2.py +0 -0
  249. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/remote_pb2.py +0 -0
  250. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/repository_pb2.py +0 -0
  251. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/server_pb2.py +0 -0
  252. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/stub/shared_pb2.py +0 -0
  253. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tag.py +0 -0
  254. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/testing/__init__.py +0 -0
  255. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/testing/bundle.py +0 -0
  256. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/testing/context.py +0 -0
  257. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/testing/grpc.py +0 -0
  258. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/testing/multiprocessing.py +0 -0
  259. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/testing/repo.py +0 -0
  260. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/testing/ssh.py +0 -0
  261. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/testing/sshd.py +0 -0
  262. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/testing/storage.py +0 -0
  263. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/testing/tests/__init__.py +0 -0
  264. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/testing/tests/test_sshd.py +0 -0
  265. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/__init__.py +0 -0
  266. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/common.py +0 -0
  267. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_branch.py +0 -0
  268. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_diff.py +0 -0
  269. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_errors.py +0 -0
  270. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_feature.py +0 -0
  271. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_file_context.py +0 -0
  272. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_gitlab_ref.py +0 -0
  273. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_identification.py +0 -0
  274. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_manifest.py +0 -0
  275. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_messages.py +0 -0
  276. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_oid.py +0 -0
  277. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_peer.py +0 -0
  278. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_repository.py +0 -0
  279. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_revision.py +0 -0
  280. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_revset.py +0 -0
  281. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_servicer.py +0 -0
  282. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_stream.py +0 -0
  283. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_tag.py +0 -0
  284. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/tests/test_workdir.py +0 -0
  285. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/util.py +0 -0
  286. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly/workdir.py +0 -0
  287. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly.egg-info/dependency_links.txt +0 -0
  288. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly.egg-info/entry_points.txt +0 -0
  289. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly.egg-info/requires.txt +0 -0
  290. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/hgitaly.egg-info/top_level.txt +0 -0
  291. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/install-requirements.txt +0 -0
  292. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/setup.cfg +0 -0
  293. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/setup.py +0 -0
  294. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/__init__.py +0 -0
  295. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/comparison.py +0 -0
  296. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/conftest.py +0 -0
  297. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/gitaly.py +0 -0
  298. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/hgitaly_rhgitaly_comparison.py +0 -0
  299. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/rhgitaly.py +0 -0
  300. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_blob_tree.py +0 -0
  301. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_comparison.py +0 -0
  302. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_diff.py +0 -0
  303. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_gitaly_server.py +0 -0
  304. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_mercurial_aux_git.py +0 -0
  305. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_mercurial_operations.py +0 -0
  306. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_mercurial_repository.py +0 -0
  307. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_operations.py +0 -0
  308. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_remote.py +0 -0
  309. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_repository_service.py +0 -0
  310. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_rhgitaly_server.py +0 -0
  311. {hgitaly-18.5.0a0 → hgitaly-18.5.1}/tests_with_gitaly/test_server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hgitaly
3
- Version: 18.5.0a0
3
+ Version: 18.5.1
4
4
  Summary: Server-side implementation of Gitaly protocol for Mercurial
5
5
  Home-page: https://foss.heptapod.net/heptapod/hgitaly
6
6
  Author: Georges Racinet
@@ -0,0 +1 @@
1
+ 18.5.1
@@ -36,6 +36,7 @@ from ..service.commit import CommitServicer
36
36
  from ..service.ref import RefServicer
37
37
  from ..service.diff import DiffServicer
38
38
  from ..service.mercurial_changeset import MercurialChangesetServicer
39
+ from ..service.mercurial_namespace import MercurialNamespaceServicer
39
40
  from ..service.mercurial_operations import MercurialOperationsServicer
40
41
  from ..service.mercurial_repository import MercurialRepositoryServicer
41
42
  from ..service.operations import OperationServicer
@@ -56,6 +57,9 @@ from ..stub.operations_pb2_grpc import (
56
57
  from ..stub.mercurial_changeset_pb2_grpc import (
57
58
  add_MercurialChangesetServiceServicer_to_server
58
59
  )
60
+ from ..stub.mercurial_namespace_pb2_grpc import (
61
+ add_MercurialNamespaceServiceServicer_to_server
62
+ )
59
63
  from ..stub.mercurial_operations_pb2_grpc import (
60
64
  add_MercurialOperationsServiceServicer_to_server
61
65
  )
@@ -105,6 +109,8 @@ def init(listen_urls, storages):
105
109
  add_DiffServiceServicer_to_server(DiffServicer(storages), server)
106
110
  add_MercurialChangesetServiceServicer_to_server(
107
111
  MercurialChangesetServicer(storages), server)
112
+ add_MercurialNamespaceServiceServicer_to_server(
113
+ MercurialNamespaceServicer(storages), server)
108
114
  add_MercurialOperationsServiceServicer_to_server(
109
115
  MercurialOperationsServicer(storages), server)
110
116
  add_MercurialRepositoryServiceServicer_to_server(
@@ -148,7 +148,7 @@ class CommitServicer(CommitServiceServicer, HGitalyServicer):
148
148
  try:
149
149
  ancestor = repo[request.ancestor_id.encode()]
150
150
  child = repo[request.child_id.encode()]
151
- except error.RepoLookupError as exc:
151
+ except (error.RepoLookupError, error.ProgrammingError) as exc:
152
152
  # Gitaly just returns False. This is probably an inconsistency
153
153
  # in the client, so let's log it to help.
154
154
  logger.warning(
@@ -0,0 +1,101 @@
1
+ # Copyright 2025 Georges Racinet <georges.racinet@cloudcrane.io>
2
+ #
3
+ # This software may be used and distributed according to the terms of the
4
+ # GNU General Public License version 2 or any later version.
5
+ #
6
+ # SPDX-License-Identifier: GPL-2.0-or-later
7
+ import logging
8
+ import os
9
+ import tarfile
10
+ import tempfile
11
+
12
+ from grpc import StatusCode
13
+
14
+ from ..logging import LoggerAdapter
15
+ from ..stream import (
16
+ WRITE_BUFFER_SIZE,
17
+ streaming_request_tempfile_extract,
18
+ )
19
+ from ..stub.mercurial_namespace_pb2 import (
20
+ MercurialNamespacesConfigArchive,
21
+ RestoreMercurialNamespacesConfigResponse,
22
+ )
23
+ from ..stub.mercurial_namespace_pb2_grpc import (
24
+ MercurialNamespaceServiceServicer,
25
+ )
26
+ from ..servicer import HGitalyServicer
27
+
28
+ base_logger = logging.getLogger(__name__)
29
+
30
+
31
+ class MercurialNamespaceServicer(MercurialNamespaceServiceServicer,
32
+ HGitalyServicer):
33
+ """MercurialNamespaceService implementation.
34
+
35
+ The ordering of methods in this source file is the same as in the proto
36
+ file.
37
+ """
38
+
39
+ def unique_storage_root(self, context):
40
+ if len(self.storages) > 1: # pragma no cover
41
+ # we will need something to accomodate the case where
42
+ # several storages are in a common root directory
43
+ # or just have HGitaly (like RHGitaly) handle only one storage,
44
+ # but it is not the GitLab standard.
45
+ # another option (quite premature) is to accept the fact that
46
+ # this will be duplicated for each storage, not only each
47
+ # server.
48
+ context.abort(
49
+ StatusCode.FAILED_PRECONDITION,
50
+ "cannot efficiently backup namespaces configurations "
51
+ "when handling several storages"
52
+ )
53
+ return next(iter(self.storages.values()))
54
+
55
+ def BackupMercurialNamespacesConfig(self, request, context):
56
+ logger = LoggerAdapter(base_logger, context)
57
+ root = self.unique_storage_root(context)
58
+ with tempfile.TemporaryFile() as tmpf:
59
+ with tarfile.open(fileobj=tmpf, mode='w:gz') as tarf:
60
+ for tld in os.listdir(root):
61
+ if tld in (b'+gitaly', b'+hgitaly', b'@hashed'):
62
+ continue
63
+ tld_abs = os.path.join(root, tld)
64
+ if not os.path.isdir(tld_abs):
65
+ continue
66
+ if b'.hg' in os.listdir(tld_abs):
67
+ # This is a Mercurial repository, should not
68
+ # happen in normal operation, but it does in tests
69
+ # let's bail
70
+ continue
71
+
72
+ logger.debug("Dumping namespace hgrc files for "
73
+ "top-level dir %r", tld)
74
+ for (dir_abspath, subdirs, files) in os.walk(tld_abs):
75
+ if b'hgrc' in files:
76
+ file_abspath = os.path.join(dir_abspath, b'hgrc')
77
+ file_relpath = os.path.relpath(file_abspath,
78
+ root)
79
+ # tarfile wants to operate on str, not bytes
80
+ tarf.add(file_abspath,
81
+ arcname=os.fsdecode(file_relpath))
82
+ tmpf.seek(0)
83
+ first = True
84
+ while True:
85
+ chunk = tmpf.read(WRITE_BUFFER_SIZE)
86
+ if not chunk and not first:
87
+ break
88
+ first = False
89
+ yield MercurialNamespacesConfigArchive(data=chunk)
90
+
91
+ def RestoreMercurialNamespacesConfig(self, request, context):
92
+ logger = LoggerAdapter(base_logger, context)
93
+ with streaming_request_tempfile_extract(
94
+ request, context) as (_options, tmpf):
95
+ tmpf.flush()
96
+ logger.info("Extracting tarball for Namespaces hgrc files")
97
+ with tarfile.open(fileobj=tmpf, mode='r:gz') as tarf:
98
+ # The client being the Rails app, it is deeply trusted
99
+ tarf.extractall(
100
+ path=os.fsdecode(self.unique_storage_root(context)))
101
+ return RestoreMercurialNamespacesConfigResponse()
@@ -647,6 +647,9 @@ class RefServicer(RefServiceServicer, HGitalyServicer):
647
647
  ),
648
648
  context), limit):
649
649
  refs.extend(name for name, _tgt in chunk)
650
+
651
+ # This is implicitely decoding as UTF-8, and raising if it fails
652
+ # (checked with the debugger)
650
653
  return FindRefsByOIDResponse(refs=refs)
651
654
 
652
655
 
@@ -0,0 +1,93 @@
1
+ # Copyright 2025 Georges Racinet <georges.racinet@cloudcrane.io>
2
+ #
3
+ # This software may be used and distributed according to the terms of the
4
+ # GNU General Public License version 2 or any later version.
5
+ #
6
+ # SPDX-License-Identifier: GPL-2.0-or-later
7
+ import tarfile
8
+ import os
9
+ import shutil
10
+
11
+ import pytest
12
+
13
+ from hgitaly.stub.mercurial_namespace_pb2 import (
14
+ MercurialNamespacesConfigArchive,
15
+ BackupMercurialNamespacesConfigRequest,
16
+ )
17
+ from hgitaly.stub.mercurial_namespace_pb2_grpc import (
18
+ MercurialNamespaceServiceStub,
19
+ )
20
+
21
+ from .fixture import ServiceFixture
22
+
23
+ parametrize = pytest.mark.parametrize
24
+
25
+
26
+ class NamespaceFixture(ServiceFixture):
27
+ stub_cls = MercurialNamespaceServiceStub
28
+
29
+ def backup(self, target, **kw):
30
+ with open(target, 'wb') as targetf:
31
+ for resp in self.stub.BackupMercurialNamespacesConfig(
32
+ BackupMercurialNamespacesConfigRequest(**kw)):
33
+ targetf.write(resp.data)
34
+
35
+ def restore(self, tarball, **kw):
36
+ with open(tarball, 'rb') as fobj:
37
+ def gen():
38
+ while True:
39
+ r = fobj.read(100)
40
+ yield MercurialNamespacesConfigArchive(data=r)
41
+ if not r:
42
+ break
43
+
44
+ return self.stub.RestoreMercurialNamespacesConfig(gen())
45
+
46
+
47
+ @pytest.fixture
48
+ def namespace_fixture(grpc_channel, server_repos_root):
49
+ with NamespaceFixture(grpc_channel, server_repos_root) as fixture:
50
+ yield fixture
51
+
52
+
53
+ def test_backup_restore(namespace_fixture, server_repos_root, tmpdir):
54
+ fixture = namespace_fixture
55
+
56
+ group1 = server_repos_root / 'default/group1'
57
+ group2 = server_repos_root / 'default/group2'
58
+ group3 = server_repos_root / 'default/group3'
59
+ subgroup = group2 / 'sub'
60
+ os.makedirs(group1)
61
+ os.makedirs(subgroup)
62
+ os.makedirs(group3)
63
+ (group1 / 'hgrc').write_text("something\n")
64
+ (group2 / 'hgrc').write_text("some for two\n")
65
+ include = "%include ../hgrc\n"
66
+ (subgroup / 'hgrc').write_text(include)
67
+ # there is a repo at storage root (part of standard fixture),
68
+ # let's add some more stuff that we do not want
69
+ hashed = server_repos_root / 'default/@hashed'
70
+ os.makedirs(hashed)
71
+ (hashed / 'hgrc').write_text("unwnated\n")
72
+ (server_repos_root / 'default/stray-file').write_text(
73
+ "ignore top-level files")
74
+
75
+ tarball = tmpdir / 'testbak1.tgz'
76
+ fixture.backup(tmpdir / 'testbak1.tgz')
77
+
78
+ with tarfile.open(tarball) as tarf:
79
+ assert set(tarf.getnames()) == {
80
+ 'group1/hgrc',
81
+ 'group2/hgrc',
82
+ 'group2/sub/hgrc',
83
+ }
84
+
85
+ shutil.rmtree(group1)
86
+ shutil.rmtree(group2)
87
+ shutil.rmtree(group3)
88
+ fixture.restore(tarball)
89
+
90
+ assert (group1 / 'hgrc').read_text() == "something\n"
91
+ assert (group2 / 'hgrc').read_text() == "some for two\n"
92
+ assert (subgroup / 'hgrc').read_text() == include
93
+ assert not group3.exists()
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import analysis_pb2 as analysis__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import blob_pb2 as blob__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import commit_pb2 as commit__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import diff_pb2 as diff__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -4,7 +4,7 @@ import grpc
4
4
  import warnings
5
5
 
6
6
 
7
- GRPC_GENERATED_VERSION = '1.74.0'
7
+ GRPC_GENERATED_VERSION = '1.75.1'
8
8
  GRPC_VERSION = grpc.__version__
9
9
  _version_not_supported = False
10
10
 
@@ -4,7 +4,7 @@ import grpc
4
4
  import warnings
5
5
 
6
6
 
7
- GRPC_GENERATED_VERSION = '1.74.0'
7
+ GRPC_GENERATED_VERSION = '1.75.1'
8
8
  GRPC_VERSION = grpc.__version__
9
9
  _version_not_supported = False
10
10
 
@@ -6,7 +6,7 @@ import warnings
6
6
  from . import mercurial_aux_git_pb2 as mercurial__aux__git__pb2
7
7
  from . import repository_pb2 as repository__pb2
8
8
 
9
- GRPC_GENERATED_VERSION = '1.74.0'
9
+ GRPC_GENERATED_VERSION = '1.75.1'
10
10
  GRPC_VERSION = grpc.__version__
11
11
  _version_not_supported = False
12
12
 
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import mercurial_changeset_pb2 as mercurial__changeset__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -0,0 +1,42 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: mercurial-namespace.proto
5
+ # Protobuf Python Version: 6.31.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
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'mercurial-namespace.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\x19mercurial-namespace.proto\x12\x07hgitaly\"0\n MercurialNamespacesConfigArchive\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"(\n&BackupMercurialNamespacesConfigRequest\"*\n(RestoreMercurialNamespacesConfigResponse2\xa6\x02\n\x19MercurialNamespaceService\x12\x81\x01\n\x1f\x42\x61\x63kupMercurialNamespacesConfig\x12/.hgitaly.BackupMercurialNamespacesConfigRequest\x1a).hgitaly.MercurialNamespacesConfigArchive\"\x00\x30\x01\x12\x84\x01\n RestoreMercurialNamespacesConfig\x12).hgitaly.MercurialNamespacesConfigArchive\x1a\x31.hgitaly.RestoreMercurialNamespacesConfigResponse\"\x00(\x01\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'mercurial_namespace_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_MERCURIALNAMESPACESCONFIGARCHIVE']._serialized_start=38
35
+ _globals['_MERCURIALNAMESPACESCONFIGARCHIVE']._serialized_end=86
36
+ _globals['_BACKUPMERCURIALNAMESPACESCONFIGREQUEST']._serialized_start=88
37
+ _globals['_BACKUPMERCURIALNAMESPACESCONFIGREQUEST']._serialized_end=128
38
+ _globals['_RESTOREMERCURIALNAMESPACESCONFIGRESPONSE']._serialized_start=130
39
+ _globals['_RESTOREMERCURIALNAMESPACESCONFIGRESPONSE']._serialized_end=172
40
+ _globals['_MERCURIALNAMESPACESERVICE']._serialized_start=175
41
+ _globals['_MERCURIALNAMESPACESERVICE']._serialized_end=469
42
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,143 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+ import warnings
5
+
6
+ from . import mercurial_namespace_pb2 as mercurial__namespace__pb2
7
+
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
+ GRPC_VERSION = grpc.__version__
10
+ _version_not_supported = False
11
+
12
+ try:
13
+ from grpc._utilities import first_version_is_lower
14
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
15
+ except ImportError:
16
+ _version_not_supported = True
17
+
18
+ if _version_not_supported:
19
+ raise RuntimeError(
20
+ f'The grpc package installed is at version {GRPC_VERSION},'
21
+ + f' but the generated code in mercurial_namespace_pb2_grpc.py depends on'
22
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
23
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
24
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
25
+ )
26
+
27
+
28
+ class MercurialNamespaceServiceStub(object):
29
+ """Methods about Mercurial configuration files for GitLab namespaces
30
+ """
31
+
32
+ def __init__(self, channel):
33
+ """Constructor.
34
+
35
+ Args:
36
+ channel: A grpc.Channel.
37
+ """
38
+ self.BackupMercurialNamespacesConfig = channel.unary_stream(
39
+ '/hgitaly.MercurialNamespaceService/BackupMercurialNamespacesConfig',
40
+ request_serializer=mercurial__namespace__pb2.BackupMercurialNamespacesConfigRequest.SerializeToString,
41
+ response_deserializer=mercurial__namespace__pb2.MercurialNamespacesConfigArchive.FromString,
42
+ _registered_method=True)
43
+ self.RestoreMercurialNamespacesConfig = channel.stream_unary(
44
+ '/hgitaly.MercurialNamespaceService/RestoreMercurialNamespacesConfig',
45
+ request_serializer=mercurial__namespace__pb2.MercurialNamespacesConfigArchive.SerializeToString,
46
+ response_deserializer=mercurial__namespace__pb2.RestoreMercurialNamespacesConfigResponse.FromString,
47
+ _registered_method=True)
48
+
49
+
50
+ class MercurialNamespaceServiceServicer(object):
51
+ """Methods about Mercurial configuration files for GitLab namespaces
52
+ """
53
+
54
+ def BackupMercurialNamespacesConfig(self, request, context):
55
+ """Missing associated documentation comment in .proto file."""
56
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
57
+ context.set_details('Method not implemented!')
58
+ raise NotImplementedError('Method not implemented!')
59
+
60
+ def RestoreMercurialNamespacesConfig(self, request_iterator, context):
61
+ """Missing associated documentation comment in .proto file."""
62
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
63
+ context.set_details('Method not implemented!')
64
+ raise NotImplementedError('Method not implemented!')
65
+
66
+
67
+ def add_MercurialNamespaceServiceServicer_to_server(servicer, server):
68
+ rpc_method_handlers = {
69
+ 'BackupMercurialNamespacesConfig': grpc.unary_stream_rpc_method_handler(
70
+ servicer.BackupMercurialNamespacesConfig,
71
+ request_deserializer=mercurial__namespace__pb2.BackupMercurialNamespacesConfigRequest.FromString,
72
+ response_serializer=mercurial__namespace__pb2.MercurialNamespacesConfigArchive.SerializeToString,
73
+ ),
74
+ 'RestoreMercurialNamespacesConfig': grpc.stream_unary_rpc_method_handler(
75
+ servicer.RestoreMercurialNamespacesConfig,
76
+ request_deserializer=mercurial__namespace__pb2.MercurialNamespacesConfigArchive.FromString,
77
+ response_serializer=mercurial__namespace__pb2.RestoreMercurialNamespacesConfigResponse.SerializeToString,
78
+ ),
79
+ }
80
+ generic_handler = grpc.method_handlers_generic_handler(
81
+ 'hgitaly.MercurialNamespaceService', rpc_method_handlers)
82
+ server.add_generic_rpc_handlers((generic_handler,))
83
+ server.add_registered_method_handlers('hgitaly.MercurialNamespaceService', rpc_method_handlers)
84
+
85
+
86
+ # This class is part of an EXPERIMENTAL API.
87
+ class MercurialNamespaceService(object):
88
+ """Methods about Mercurial configuration files for GitLab namespaces
89
+ """
90
+
91
+ @staticmethod
92
+ def BackupMercurialNamespacesConfig(request,
93
+ target,
94
+ options=(),
95
+ channel_credentials=None,
96
+ call_credentials=None,
97
+ insecure=False,
98
+ compression=None,
99
+ wait_for_ready=None,
100
+ timeout=None,
101
+ metadata=None):
102
+ return grpc.experimental.unary_stream(
103
+ request,
104
+ target,
105
+ '/hgitaly.MercurialNamespaceService/BackupMercurialNamespacesConfig',
106
+ mercurial__namespace__pb2.BackupMercurialNamespacesConfigRequest.SerializeToString,
107
+ mercurial__namespace__pb2.MercurialNamespacesConfigArchive.FromString,
108
+ options,
109
+ channel_credentials,
110
+ insecure,
111
+ call_credentials,
112
+ compression,
113
+ wait_for_ready,
114
+ timeout,
115
+ metadata,
116
+ _registered_method=True)
117
+
118
+ @staticmethod
119
+ def RestoreMercurialNamespacesConfig(request_iterator,
120
+ target,
121
+ options=(),
122
+ channel_credentials=None,
123
+ call_credentials=None,
124
+ insecure=False,
125
+ compression=None,
126
+ wait_for_ready=None,
127
+ timeout=None,
128
+ metadata=None):
129
+ return grpc.experimental.stream_unary(
130
+ request_iterator,
131
+ target,
132
+ '/hgitaly.MercurialNamespaceService/RestoreMercurialNamespacesConfig',
133
+ mercurial__namespace__pb2.MercurialNamespacesConfigArchive.SerializeToString,
134
+ mercurial__namespace__pb2.RestoreMercurialNamespacesConfigResponse.FromString,
135
+ options,
136
+ channel_credentials,
137
+ insecure,
138
+ call_credentials,
139
+ compression,
140
+ wait_for_ready,
141
+ timeout,
142
+ metadata,
143
+ _registered_method=True)
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import mercurial_operations_pb2 as mercurial__operations__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import mercurial_repository_pb2 as mercurial__repository__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import operations_pb2 as operations__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import ref_pb2 as ref__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import remote_pb2 as remote__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import repository_pb2 as repository__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import server_pb2 as server__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.74.0'
8
+ GRPC_GENERATED_VERSION = '1.75.1'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
@@ -4,7 +4,7 @@ import grpc
4
4
  import warnings
5
5
 
6
6
 
7
- GRPC_GENERATED_VERSION = '1.74.0'
7
+ GRPC_GENERATED_VERSION = '1.75.1'
8
8
  GRPC_VERSION = grpc.__version__
9
9
  _version_not_supported = False
10
10
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hgitaly
3
- Version: 18.5.0a0
3
+ Version: 18.5.1
4
4
  Summary: Server-side implementation of Gitaly protocol for Mercurial
5
5
  Home-page: https://foss.heptapod.net/heptapod/hgitaly
6
6
  Author: Georges Racinet