hgitaly 2.8.1__tar.gz → 2.9.0__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 (295) hide show
  1. hgitaly-2.9.0/.coveragerc +5 -0
  2. hgitaly-2.9.0/.gitlab-ci.yml +150 -0
  3. hgitaly-2.9.0/.hgignore +34 -0
  4. hgitaly-2.9.0/.hgtags +128 -0
  5. {hgitaly-2.8.1/hgitaly.egg-info → hgitaly-2.9.0}/PKG-INFO +2 -2
  6. hgitaly-2.9.0/ci/heptapod-sftp-push +31 -0
  7. hgitaly-2.9.0/ci/heptapod-sign-package +34 -0
  8. hgitaly-2.9.0/ci/heptapod_known_hosts.ssh +4 -0
  9. hgitaly-2.9.0/ci/upload-rhgitaly +43 -0
  10. hgitaly-2.9.0/conftest.py +88 -0
  11. hgitaly-2.9.0/dev-requirements.txt +2 -0
  12. hgitaly-2.9.0/examples/client.py +48 -0
  13. hgitaly-2.9.0/examples/client_list_lcft.py +55 -0
  14. hgitaly-2.9.0/generate-stubs +33 -0
  15. hgitaly-2.9.0/hgitaly/VERSION +1 -0
  16. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/gitlab_ref.py +3 -51
  17. hgitaly-2.9.0/hgitaly/license_detector/GPL-2.sample +339 -0
  18. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/diff.py +1 -1
  19. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/commit_pb2.py +49 -45
  20. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/diff_pb2_grpc.py +3 -0
  21. hgitaly-2.9.0/hgitaly/stub/repository_pb2.py +390 -0
  22. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/server_pb2.py +17 -21
  23. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/server_pb2_grpc.py +0 -35
  24. hgitaly-2.9.0/hgitaly/testing/data/authorized_keys +1 -0
  25. hgitaly-2.9.0/hgitaly/testing/data/backup_additional_no_git.tar +0 -0
  26. hgitaly-2.9.0/hgitaly/testing/data/id_ecdsa_user +38 -0
  27. hgitaly-2.9.0/hgitaly/testing/data/known_hosts +1 -0
  28. hgitaly-2.9.0/hgitaly/testing/data/ssh_host_ecdsa_key +9 -0
  29. hgitaly-2.9.0/hgitaly/testing/data/ssh_host_ecdsa_key.pub +1 -0
  30. hgitaly-2.9.0/hgitaly/testing/data/sshd_config +17 -0
  31. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_gitlab_ref.py +0 -21
  32. {hgitaly-2.8.1 → hgitaly-2.9.0/hgitaly.egg-info}/PKG-INFO +2 -2
  33. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly.egg-info/SOURCES.txt +129 -0
  34. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly.egg-info/requires.txt +1 -1
  35. {hgitaly-2.8.1 → hgitaly-2.9.0}/install-requirements.txt +1 -1
  36. hgitaly-2.9.0/lint +3 -0
  37. hgitaly-2.9.0/protos/analysis.proto +62 -0
  38. hgitaly-2.9.0/protos/blob.proto +299 -0
  39. hgitaly-2.9.0/protos/cleanup.proto +88 -0
  40. hgitaly-2.9.0/protos/cluster.proto +107 -0
  41. hgitaly-2.9.0/protos/commit.proto +985 -0
  42. hgitaly-2.9.0/protos/conflicts.proto +137 -0
  43. hgitaly-2.9.0/protos/diff.proto +616 -0
  44. hgitaly-2.9.0/protos/errors.proto +228 -0
  45. hgitaly-2.9.0/protos/hook.proto +205 -0
  46. hgitaly-2.9.0/protos/internal.proto +37 -0
  47. hgitaly-2.9.0/protos/lint.proto +75 -0
  48. hgitaly-2.9.0/protos/log.proto +147 -0
  49. hgitaly-2.9.0/protos/mercurial-changeset.proto +96 -0
  50. hgitaly-2.9.0/protos/mercurial-operations.proto +163 -0
  51. hgitaly-2.9.0/protos/mercurial-repository.proto +304 -0
  52. hgitaly-2.9.0/protos/namespace.proto +98 -0
  53. hgitaly-2.9.0/protos/objectpool.proto +173 -0
  54. hgitaly-2.9.0/protos/operations.proto +1139 -0
  55. hgitaly-2.9.0/protos/packfile.proto +26 -0
  56. hgitaly-2.9.0/protos/partition.proto +70 -0
  57. hgitaly-2.9.0/protos/praefect.proto +222 -0
  58. hgitaly-2.9.0/protos/ref.proto +593 -0
  59. hgitaly-2.9.0/protos/remote.proto +153 -0
  60. hgitaly-2.9.0/protos/repository.proto +1342 -0
  61. hgitaly-2.9.0/protos/server.proto +123 -0
  62. hgitaly-2.9.0/protos/service_config.proto +86 -0
  63. hgitaly-2.9.0/protos/shared.proto +248 -0
  64. hgitaly-2.9.0/protos/smarthttp.proto +121 -0
  65. hgitaly-2.9.0/protos/ssh.proto +150 -0
  66. hgitaly-2.9.0/protos/transaction.proto +104 -0
  67. hgitaly-2.9.0/protos/wiki.proto +211 -0
  68. hgitaly-2.9.0/ruby/.ruby-version +1 -0
  69. hgitaly-2.9.0/ruby/Gemfile +5 -0
  70. hgitaly-2.9.0/ruby/README.md +48 -0
  71. hgitaly-2.9.0/ruby/generate-grpc-lib +63 -0
  72. hgitaly-2.9.0/ruby/hgitaly.gemspec +25 -0
  73. hgitaly-2.9.0/ruby/lib/hgitaly/mercurial-changeset_pb.rb +69 -0
  74. hgitaly-2.9.0/ruby/lib/hgitaly/mercurial-changeset_services_pb.rb +25 -0
  75. hgitaly-2.9.0/ruby/lib/hgitaly/mercurial-operations_pb.rb +103 -0
  76. hgitaly-2.9.0/ruby/lib/hgitaly/mercurial-operations_services_pb.rb +39 -0
  77. hgitaly-2.9.0/ruby/lib/hgitaly/mercurial-repository_pb.rb +141 -0
  78. hgitaly-2.9.0/ruby/lib/hgitaly/mercurial-repository_services_pb.rb +77 -0
  79. hgitaly-2.9.0/ruby/lib/hgitaly/version.rb +4 -0
  80. hgitaly-2.9.0/ruby/lib/hgitaly.rb +11 -0
  81. hgitaly-2.9.0/ruby/run.rb +39 -0
  82. hgitaly-2.9.0/run-all-tests +19 -0
  83. hgitaly-2.9.0/rust/Cargo.lock +2421 -0
  84. hgitaly-2.9.0/rust/Cargo.toml +3 -0
  85. hgitaly-2.9.0/rust/Makefile +69 -0
  86. hgitaly-2.9.0/rust/build-from-tarball.sh +30 -0
  87. hgitaly-2.9.0/rust/check-line-width +48 -0
  88. hgitaly-2.9.0/rust/dependencies/README.md +19 -0
  89. hgitaly-2.9.0/rust/dependencies/mercurial.patch +48 -0
  90. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/any.proto +158 -0
  91. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/api.proto +208 -0
  92. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/compiler/plugin.proto +183 -0
  93. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/descriptor.proto +911 -0
  94. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/duration.proto +116 -0
  95. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/empty.proto +52 -0
  96. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/field_mask.proto +245 -0
  97. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/source_context.proto +48 -0
  98. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/struct.proto +95 -0
  99. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/timestamp.proto +147 -0
  100. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/type.proto +187 -0
  101. hgitaly-2.9.0/rust/dependencies/proto/google/protobuf/wrappers.proto +123 -0
  102. hgitaly-2.9.0/rust/go-enry.rev +1 -0
  103. hgitaly-2.9.0/rust/lint +14 -0
  104. hgitaly-2.9.0/rust/mercurial.rev +1 -0
  105. hgitaly-2.9.0/rust/rhgitaly/Cargo.toml +40 -0
  106. hgitaly-2.9.0/rust/rhgitaly/build.rs +43 -0
  107. hgitaly-2.9.0/rust/rhgitaly/clippy.toml +6 -0
  108. hgitaly-2.9.0/rust/rhgitaly/src/config.rs +130 -0
  109. hgitaly-2.9.0/rust/rhgitaly/src/errors.rs +123 -0
  110. hgitaly-2.9.0/rust/rhgitaly/src/generated/README.md +7 -0
  111. hgitaly-2.9.0/rust/rhgitaly/src/git.rs +293 -0
  112. hgitaly-2.9.0/rust/rhgitaly/src/gitlab/mod.rs +42 -0
  113. hgitaly-2.9.0/rust/rhgitaly/src/gitlab/reference.rs +83 -0
  114. hgitaly-2.9.0/rust/rhgitaly/src/gitlab/revision.rs +320 -0
  115. hgitaly-2.9.0/rust/rhgitaly/src/gitlab/state.rs +508 -0
  116. hgitaly-2.9.0/rust/rhgitaly/src/glob.rs +45 -0
  117. hgitaly-2.9.0/rust/rhgitaly/src/lib.rs +40 -0
  118. hgitaly-2.9.0/rust/rhgitaly/src/main.rs +113 -0
  119. hgitaly-2.9.0/rust/rhgitaly/src/mercurial.rs +1362 -0
  120. hgitaly-2.9.0/rust/rhgitaly/src/message.rs +469 -0
  121. hgitaly-2.9.0/rust/rhgitaly/src/metadata.rs +27 -0
  122. hgitaly-2.9.0/rust/rhgitaly/src/oid.rs +87 -0
  123. hgitaly-2.9.0/rust/rhgitaly/src/process.rs +39 -0
  124. hgitaly-2.9.0/rust/rhgitaly/src/repository.rs +814 -0
  125. hgitaly-2.9.0/rust/rhgitaly/src/service/analysis.rs +184 -0
  126. hgitaly-2.9.0/rust/rhgitaly/src/service/blob.rs +256 -0
  127. hgitaly-2.9.0/rust/rhgitaly/src/service/commit/find_commits.rs +202 -0
  128. hgitaly-2.9.0/rust/rhgitaly/src/service/commit/get_tree_entries.rs +291 -0
  129. hgitaly-2.9.0/rust/rhgitaly/src/service/commit/last_commits.rs +567 -0
  130. hgitaly-2.9.0/rust/rhgitaly/src/service/commit/mod.rs +492 -0
  131. hgitaly-2.9.0/rust/rhgitaly/src/service/commit/tree_entry.rs +155 -0
  132. hgitaly-2.9.0/rust/rhgitaly/src/service/diff.rs +92 -0
  133. hgitaly-2.9.0/rust/rhgitaly/src/service/mercurial_repository.rs +283 -0
  134. hgitaly-2.9.0/rust/rhgitaly/src/service/mod.rs +13 -0
  135. hgitaly-2.9.0/rust/rhgitaly/src/service/ref.rs +634 -0
  136. hgitaly-2.9.0/rust/rhgitaly/src/service/repository.rs +275 -0
  137. hgitaly-2.9.0/rust/rhgitaly/src/service/server.rs +34 -0
  138. hgitaly-2.9.0/rust/rhgitaly/src/sidecar.rs +184 -0
  139. hgitaly-2.9.0/rust/rhgitaly/src/streaming.rs +339 -0
  140. hgitaly-2.9.0/rust/rhgitaly/src/util.rs +132 -0
  141. hgitaly-2.9.0/rust/rs-enry.rev +1 -0
  142. hgitaly-2.9.0/rust/src-tarball.sh +60 -0
  143. hgitaly-2.9.0/test-requirements.txt +7 -0
  144. hgitaly-2.8.1/hgitaly/VERSION +0 -1
  145. hgitaly-2.8.1/hgitaly/stub/repository_pb2.py +0 -388
  146. {hgitaly-2.8.1 → hgitaly-2.9.0}/LICENSE +0 -0
  147. {hgitaly-2.8.1 → hgitaly-2.9.0}/MANIFEST.in +0 -0
  148. {hgitaly-2.8.1 → hgitaly-2.9.0}/README.md +0 -0
  149. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgext3rd/__init__.py +0 -0
  150. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgext3rd/hgitaly/__init__.py +0 -0
  151. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgext3rd/hgitaly/revset.py +0 -0
  152. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgext3rd/hgitaly/tests/__init__.py +0 -0
  153. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgext3rd/hgitaly/tests/test_revset.py +0 -0
  154. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgext3rd/hgitaly/tests/test_serve.py +0 -0
  155. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/__init__.py +0 -0
  156. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/branch.py +0 -0
  157. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/changelog.py +0 -0
  158. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/diff.py +0 -0
  159. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/errors.py +0 -0
  160. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/feature.py +0 -0
  161. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/file_content.py +0 -0
  162. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/file_context.py +0 -0
  163. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/git.py +0 -0
  164. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/license_detector/__init__.py +0 -0
  165. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/license_detector/spdx-licenses.json +0 -0
  166. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/linguist/__init__.py +0 -0
  167. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/linguist/languages.json +0 -0
  168. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/logging.py +0 -0
  169. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/manifest.py +0 -0
  170. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/message.py +0 -0
  171. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/oid.py +0 -0
  172. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/pagination.py +0 -0
  173. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/path.py +0 -0
  174. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/peer.py +0 -0
  175. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/procutil.py +0 -0
  176. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/repository.py +0 -0
  177. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/revision.py +0 -0
  178. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/revset.py +0 -0
  179. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/scripts.py +0 -0
  180. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/server/__init__.py +0 -0
  181. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/server/address.py +0 -0
  182. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/server/mono.py +0 -0
  183. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/server/prefork.py +0 -0
  184. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/server/tests/__init__.py +0 -0
  185. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/server/tests/test_address.py +0 -0
  186. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/server/tests/test_mono.py +0 -0
  187. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/server/tests/test_prefork.py +0 -0
  188. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/server/tests/test_worker.py +0 -0
  189. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/server/worker.py +0 -0
  190. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/__init__.py +0 -0
  191. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/analysis.py +0 -0
  192. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/blob.py +0 -0
  193. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/commit.py +0 -0
  194. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/interceptors.py +0 -0
  195. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/mercurial_changeset.py +0 -0
  196. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/mercurial_operations.py +0 -0
  197. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/mercurial_repository.py +0 -0
  198. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/operations.py +0 -0
  199. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/ref.py +0 -0
  200. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/repository.py +0 -0
  201. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/server.py +0 -0
  202. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/__init__.py +0 -0
  203. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/fixture.py +0 -0
  204. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_analysis.py +0 -0
  205. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_blob.py +0 -0
  206. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_commit.py +0 -0
  207. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_default_branch.py +0 -0
  208. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_diff.py +0 -0
  209. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_mercurial_changeset.py +0 -0
  210. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_mercurial_operations.py +0 -0
  211. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_mercurial_repository.py +0 -0
  212. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_operations.py +0 -0
  213. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_ref.py +0 -0
  214. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_repository_service.py +0 -0
  215. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/service/tests/test_server.py +0 -0
  216. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/servicer.py +0 -0
  217. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/ssh.py +0 -0
  218. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stream.py +0 -0
  219. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/__init__.py +0 -0
  220. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/analysis_pb2.py +0 -0
  221. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/analysis_pb2_grpc.py +0 -0
  222. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/blob_pb2.py +0 -0
  223. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/blob_pb2_grpc.py +0 -0
  224. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/commit_pb2_grpc.py +0 -0
  225. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/diff_pb2.py +0 -0
  226. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/errors_pb2.py +0 -0
  227. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/errors_pb2_grpc.py +0 -0
  228. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/lint_pb2.py +0 -0
  229. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/lint_pb2_grpc.py +0 -0
  230. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/mercurial_changeset_pb2.py +0 -0
  231. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/mercurial_changeset_pb2_grpc.py +0 -0
  232. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/mercurial_operations_pb2.py +0 -0
  233. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/mercurial_operations_pb2_grpc.py +0 -0
  234. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/mercurial_repository_pb2.py +0 -0
  235. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/mercurial_repository_pb2_grpc.py +0 -0
  236. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/operations_pb2.py +0 -0
  237. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/operations_pb2_grpc.py +0 -0
  238. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/ref_pb2.py +0 -0
  239. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/ref_pb2_grpc.py +0 -0
  240. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/repository_pb2_grpc.py +0 -0
  241. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/shared_pb2.py +0 -0
  242. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/stub/shared_pb2_grpc.py +0 -0
  243. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tag.py +0 -0
  244. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/testing/__init__.py +0 -0
  245. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/testing/bundle.py +0 -0
  246. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/testing/context.py +0 -0
  247. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/testing/grpc.py +0 -0
  248. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/testing/ssh.py +0 -0
  249. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/testing/sshd.py +0 -0
  250. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/testing/tests/__init__.py +0 -0
  251. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/testing/tests/test_sshd.py +0 -0
  252. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/__init__.py +0 -0
  253. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/common.py +0 -0
  254. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_branch.py +0 -0
  255. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_diff.py +0 -0
  256. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_errors.py +0 -0
  257. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_feature.py +0 -0
  258. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_file_context.py +0 -0
  259. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_license_detector.py +0 -0
  260. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_linguist.py +0 -0
  261. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_manifest.py +0 -0
  262. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_messages.py +0 -0
  263. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_oid.py +0 -0
  264. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_peer.py +0 -0
  265. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_repository.py +0 -0
  266. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_revision.py +0 -0
  267. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_revset.py +0 -0
  268. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_servicer.py +0 -0
  269. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_stream.py +0 -0
  270. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_tag.py +0 -0
  271. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/tests/test_workdir.py +0 -0
  272. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/util.py +0 -0
  273. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly/workdir.py +0 -0
  274. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly.egg-info/dependency_links.txt +0 -0
  275. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly.egg-info/entry_points.txt +0 -0
  276. {hgitaly-2.8.1 → hgitaly-2.9.0}/hgitaly.egg-info/top_level.txt +0 -0
  277. {hgitaly-2.8.1 → hgitaly-2.9.0}/setup.cfg +0 -0
  278. {hgitaly-2.8.1 → hgitaly-2.9.0}/setup.py +0 -0
  279. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/__init__.py +0 -0
  280. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/comparison.py +0 -0
  281. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/conftest.py +0 -0
  282. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/gitaly.py +0 -0
  283. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/hgitaly_rhgitaly_comparison.py +0 -0
  284. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/rhgitaly.py +0 -0
  285. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/test_blob_tree.py +0 -0
  286. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/test_commit.py +0 -0
  287. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/test_comparison.py +0 -0
  288. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/test_diff.py +0 -0
  289. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/test_gitaly_server.py +0 -0
  290. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/test_mercurial_repository.py +0 -0
  291. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/test_operations.py +0 -0
  292. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/test_ref.py +0 -0
  293. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/test_repository_service.py +0 -0
  294. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/test_rhgitaly_server.py +0 -0
  295. {hgitaly-2.8.1 → hgitaly-2.9.0}/tests_with_gitaly/test_server.py +0 -0
@@ -0,0 +1,5 @@
1
+ [run]
2
+ omit=
3
+ hgitaly/stub/*
4
+ hgitaly/tests/*
5
+ plugins = coverage_mercurial
@@ -0,0 +1,150 @@
1
+ stages:
2
+ - main
3
+ - compat
4
+ - packaging
5
+
6
+ variables:
7
+ # has to be "stable" in the stable branch, and actually we should rename
8
+ # "latest" as "default": this would let us just use $CI_COMMIT_HG_BRANCH
9
+ BASE_IMAGES_TAG: $CI_COMMIT_HG_BRANCH
10
+ BASE_IMAGES_COLLECTION: registry.heptapod.net:443/heptapod/ci-images
11
+ BASE_IMAGES_MERCURIAL: $BASE_IMAGES_COLLECTION/mercurial
12
+ MERCURIAL_SHARE_FROM: /opt/mercurial/hg
13
+ CARGO_HOME: ${CI_PROJECT_DIR}/cargo_home
14
+ RHGITALY_EXECUTABLE: rust/target/debug/rhgitaly
15
+
16
+ workflow:
17
+ rules:
18
+ - if: '$CI_COMMIT_TAG'
19
+ when: always
20
+ # in practice, we're interested in MR events and occasional runs
21
+ # from the web.
22
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
23
+ - if: '$CI_PIPELINE_SOURCE == "web"'
24
+ - if: '$CI_PIPELINE_SOURCE == "pipeline"'
25
+ - if: '$CI_PIPELINE_SOURCE == "push"'
26
+ when: never
27
+
28
+ check-sdist:
29
+ stage: compat
30
+ rules:
31
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
32
+ - if: '$CI_COMMIT_BRANCH =~ /^branch\/(default,stable)$/'
33
+ - when: never
34
+ image: $BASE_IMAGES_MERCURIAL/hg-current:default
35
+ needs: []
36
+ script:
37
+ - rm -rf dist
38
+ - python3 setup.py sdist
39
+ # most requirements will be preinstalled in the base image (taken from the
40
+ # default branch of HGitaly at time of image build), but they will be
41
+ # reexamined and any change will be tested.
42
+ - pip3 install dist/*.tar.gz
43
+
44
+ # used to mark job that should run for the 'default' branch of HGitaly only
45
+ .only_hgitaly_default:
46
+ rules:
47
+ - if: '$CI_COMMIT_HG_BRANCH == "default"'
48
+ - when: never
49
+
50
+ .pytests:
51
+ before_script:
52
+ # usually the base image should have all that's needed
53
+ # but in case of changes in test dependencies, we may still
54
+ # need to install/update something.
55
+ - pip3 install -r test-requirements.txt
56
+ - pip3 freeze
57
+ - ./lint
58
+ - mkdir -p /run/sshd
59
+ script:
60
+ - ./run-all-tests
61
+
62
+ .cargo-cache:
63
+ cache:
64
+ key: cargo-${CI_COMMIT_HG_BRANCH}
65
+ paths:
66
+ # not caching bin/ nor .crates files as these are for installed binaries
67
+ # and should be treated as artifacts instead
68
+ - ${CARGO_HOME}/registry/index/
69
+ - ${CARGO_HOME}/registry/cache/
70
+ - ${CARGO_HOME}/git/db/
71
+
72
+ tests-rust:
73
+ stage: main
74
+ image: ${BASE_IMAGES_COLLECTION}/hgitaly-rust:${CI_COMMIT_HG_BRANCH}
75
+ extends: .cargo-cache
76
+ variables:
77
+ CI_CLEVER_CLOUD_FLAVOR: XL
78
+ cache:
79
+ policy: pull-push
80
+ script:
81
+ - make -C rust dev-dependencies
82
+ - rustc --version
83
+ - cargo build --locked --manifest-path rust/Cargo.toml
84
+ - cargo test --manifest-path rust/Cargo.toml
85
+ - rust/lint
86
+ artifacts:
87
+ expire_in: 1d
88
+ paths:
89
+ - ${RHGITALY_EXECUTABLE}
90
+
91
+ tests-hg-current:
92
+ variables:
93
+ HGITALY_TESTS_HG_EXE_PATH: /usr/local/bin/hg
94
+ extends:
95
+ - .pytests
96
+ stage: main
97
+ image: ${BASE_IMAGES_MERCURIAL}/hg-current:${BASE_IMAGES_TAG}
98
+
99
+ tests-hg-stable:
100
+ variables:
101
+ HGITALY_TESTS_HG_EXE_PATH: /usr/local/bin/hg
102
+ extends:
103
+ - .pytests
104
+ - .only_hgitaly_default
105
+ allow_failure: true
106
+ stage: compat
107
+ image: ${BASE_IMAGES_MERCURIAL}/hg-stable:${BASE_IMAGES_TAG}
108
+
109
+ tests-hg-default:
110
+ variables:
111
+ HGITALY_TESTS_HG_EXE_PATH: /usr/local/bin/hg
112
+ extends:
113
+ - .pytests
114
+ - .only_hgitaly_default
115
+ allow_failure: true
116
+ stage: compat
117
+ image: ${BASE_IMAGES_MERCURIAL}/hg-default:${BASE_IMAGES_TAG}
118
+
119
+
120
+ gitaly-comparison:
121
+ extends:
122
+ - .pytests
123
+ - .cargo-cache
124
+ cache:
125
+ policy: pull
126
+ stage: compat
127
+ image: ${BASE_IMAGES_COLLECTION}/heptapod-gitaly:${CI_COMMIT_HG_BRANCH}
128
+ variables:
129
+ GITALY_INSTALL_DIR: /opt/gitlab/gitaly
130
+ script:
131
+ - echo "Full test run with Gitaly and RHGitaly Comparison tests"
132
+ - ./run-all-tests
133
+
134
+
135
+ upload:
136
+ image: ${BASE_IMAGES_COLLECTION}/hgitaly-rust:${CI_COMMIT_HG_BRANCH}
137
+ stage: packaging
138
+ extends:
139
+ - .cargo-cache
140
+ cache:
141
+ policy: pull
142
+ needs: []
143
+ rules:
144
+ - if: '$CI_COMMIT_TAG'
145
+ when: always
146
+ - if: '$CI_PIPELINE_SOURCE == "web" && $RHGITALY_UPLOAD'
147
+ when: always
148
+ - when: never
149
+ script:
150
+ - make -C rust ci-cd-upload
@@ -0,0 +1,34 @@
1
+ syntax: glob
2
+ *.swp
3
+ *\#
4
+ *.\#*
5
+ *~
6
+ *.pyc
7
+ build/
8
+ *.egg-info/
9
+ dist/
10
+ venv/
11
+
12
+ *.orig
13
+
14
+ .pytest_cache/
15
+ .coverage
16
+ .coverage.*
17
+ htmlcov/
18
+ .mypy_cache/
19
+
20
+ # Ruby generated lib
21
+ # versions don't have to be pinned, because the gem
22
+ # dependencies are only to generate the stubs.
23
+ ruby/Gemfile.lock
24
+ ruby/.bundle
25
+ ruby/*.gem
26
+
27
+ # Rust
28
+
29
+ syntax:rootglob
30
+
31
+ rust/target/*
32
+ rust/dependencies/mercurial/*
33
+ rust/dependencies/*-enry/
34
+ rust/rhgitaly/src/generated/*
hgitaly-2.9.0/.hgtags ADDED
@@ -0,0 +1,128 @@
1
+ c9c967ab541f789c2b3d17d8d01cfb2b877b7f66 0.1.0
2
+ 30788b68d15b32b69befc7515c380ce052be3fae 0.2.0
3
+ da98db57136d169c65873a5547afbee3089e5182 0.3.0
4
+ 265ab7067c03b2328177846f949f488aea6c3e9d 0.4.0
5
+ ddf11074ea0ae68e3cf420d30b14e946c2820613 0.5.0
6
+ 91b9e79ad8ddc8663fe0852421cf0e5d3cd632aa 0.5.1
7
+ fc064fdd27045384290ef19396384aff1baaf3d4 0.6.0
8
+ ae33ee24a85e4ceae5fe7c387ec6c0e132464bcf 0.7.0
9
+ 624d48438ea0226fce5c5b643fdcf9fd485d1624 0.7.1
10
+ d82e4c4d3de109fb1d116a58320e3b1e89594220 0.8.0
11
+ 2c7750ff10a4be584987fc4758abc64a6b569e3e 0.8.1
12
+ 00827e1ecc26736c32f4f409c5c62eb914d1f11f 0.9.0
13
+ 79d8f8a8df4981e286d354d927d5eba8579db79e 0.10.0
14
+ b22dcf5dcf7a205276e79ff4f4a729a51cd15fa8 0.11.0
15
+ 39a6480f55014e3c3586d8a601b6258cd3b6c072 0.11.1
16
+ dafcae2d9a1626ce8ef01e8338bda53acaa516df 0.11.2
17
+ df53b71c17a4bbd1a85ab72e9752fc0b70ea77ab 0.12.0
18
+ 9058efa8be3929d711cd80806f22785d92ac345a 0.12.1
19
+ fd405714088c2746874f119e16e899ee3f1f30e2 0.12.2
20
+ ba3cda48dd083b47767fe4d22990ee10f750128e 0.13.0
21
+ 06846432db85694d68d1e3a9a8146a4792de3212 0.14.0
22
+ fd9fadf22229290942e37ae8832e56bf9b321e68 0.14.1
23
+ 10bcb5a1f54743079361810914dfd96021062e93 0.14.2
24
+ 0e9d5cb1cdf9810adf44b7280fd8421f76ea7ebe 0.14.3
25
+ c1525102b3fd4e934e1e0ec9afab7d31d4507fc6 0.14.3-with-ruby
26
+ aded3ede3e65751a3ab4a2262e5f6dcd7d40ea47 0.15.0
27
+ 6824f4b670c539f89d0b369df711741b2744f121 0.16.0
28
+ 87dbbe3bf1afd9452707f4b12cbcf6d3fd63a89a 0.16.1
29
+ ac9b8ac91c9c88f2940a2ac7ff22e6d231eb1496 0.17.0
30
+ 3d28408ad2e5f1f5a41b09617df24bda6a1b867b 0.17.1
31
+ 2bd5b42c0dacd4c954dc9a6dbf5ad2a25523d05d 0.18.0
32
+ 33d285175ac0bf99a8af102513c9769b1d1648fc 0.19.0
33
+ 265dc5c652241ae81054552a18e1d4e5a1d71b85 0.20.0
34
+ 99c8325e68e9831e90acd1fae310b10d679c8d8f 0.21.0
35
+ 8e0b11be1b69b416e4eaf54d3224f65aca887bd9 0.21.1
36
+ 19f4768af78c33cc75a164e93780e10e471ffc96 0.22.0
37
+ 30be17bb3ed784f5e8285aaa42acf0266f268881 0.22.1
38
+ 07f2832e4cc2c0fd9f074410342e7d7767f80ebf 0.22.2
39
+ c010cae0546afec3c09bae956d47f5f52be9ca0e 0.23.0
40
+ 8b6e80a3a6b2e20c62c7ff6a48e44eaa8eb502ad 0.24.0
41
+ 56d9bc0d01886f9eb70a854e7705b672375d2a42 0.24.2
42
+ fe090a4f1dfcf5ae99324d1326dc35d0bfcb2c36 0.24.3
43
+ cd9286c435f0ed47c725b2056728f44cc625d3fb 0.24.4
44
+ fd5e2b8ffd0d80d3b21feb702cf4332b65c19840 0.25.0
45
+ 26ecf46768406f14dd7a93d15580836439452ced 0.26.1
46
+ c2507c58c27dcaea5103ffb148120a0d07d4a5e1 0.26.2
47
+ 25e52bb06d09363a10961e1bfcaacf6207ae41ba 0.26.3
48
+ 89f850bf0a74e6a1c5edcbbff370d002c77ad532 0.27.0
49
+ b2c191cd4a0549c72d24015aa5ba5a169aa4c5c8 0.27.1
50
+ fbcf2df5173d0d42ca8ebdc5529077791a89aaf5 0.27.2
51
+ e4016c35defc483ed6485a467e939b5c281008af 0.28.0
52
+ 54ba6c3133acc7b21a24ad3e1bd715bafe98f0f8 0.29.0
53
+ 494d44b60baab709836bdcb4851437d4ebfee1b0 0.29.1
54
+ 06eff55f3eb96f808f791142f132b541d32a9b31 0.30.0
55
+ 47380d3aa05550b0873c9100dbfbdd4abd1e695c 0.31.0
56
+ e559b74680c410d065b079af04584211a57850bc 0.32.0
57
+ d7fd281d6227cc126448a03b7c3defbc79125d4a 0.32.1
58
+ e67d981935c35d2bc48736fa29182e0c4d1df2cc 0.32.2
59
+ ed6da325975c2f2fb68d60c2a46abbd1bdbb0bc1 0.33.0dev0
60
+ ab74aa24d76f899a15c3fba633918093260e1bb8 0.33.0
61
+ c78309d317438a86f8f6e995a4bc17fce1d5b16c 0.33.1
62
+ e5a02e0abd62fe3b9f6bd33ac1882ecbc2cd545c 0.33.2
63
+ 7e815fe93113f89496846fc87498ee246caab4e5 0.33.3
64
+ 9f5a999855c4f54e656a7cb27dd931b5149bf4bc 0.33.4
65
+ d33263b080e179fcc0636b567ab2a952cd1e5405 0.34.0
66
+ 4066eb34a329cd8a91b2880a6fa873fc1609feba 0.35.0
67
+ e29ee359b3c2b7f68ea9af072ee4723fde0238c8 0.36.0
68
+ 28e88c3e1f8375c13ec90b9d1aaca586b6e8a8cd 0.37.0
69
+ 1015845afe27043b6dab5e05a868c093cc4eb01c 0.38.0
70
+ d106c9a3eb27c1854a5d7cd78c1f6253d0df2185 0.39.0
71
+ e4a01ac4d5902136f4e683efe71a8b9ee87be7b5 0.39.1
72
+ 6341000c08fe7160fdba4106a83e2e331558d094 0.40.0
73
+ d924b81496e212c7898c47269aff3afe10cfcfda 0.40.1
74
+ 6ce174b1c7593857e4e65b9f03981d581d075b95 0.40.2
75
+ c31dbf702896e10dc0c33caf48a357bc8cfecbf1 0.40.3
76
+ 2a621d0062b0b72e39d165f60f2010aae2f438b1 0.40.4
77
+ d66240c8c2ba7fcf0e4a57531197a62aa889f945 0.41.0
78
+ adfdaadca5ee96b545e06dec0f67db73b8692450 0.42.0
79
+ d8cd2afe71a7b04d47002f97bf94fb863ad29f7c 0.42.1
80
+ 317b9acc8818dc87ed0436cdaf610527a86462cf 0.42.2
81
+ 801728b83f97d3e5345a08c3e8e5f937c1b068ae 0.42.3
82
+ 543dab36ae67c655eb2dac9e54441a914205f190 0.43.0
83
+ 1b5b0f072cee9b63d9c2f8884409999eb315b8ab 0.43.1
84
+ fbe5d822200e9fae5f5c98dfb7b2cbe2fed32677 0.44.0
85
+ 82589bde15240ebf54c61253bf4c8de1605f6599 0.44.1
86
+ 73a8fde7ac291e9fae5fed7ac877e394d5b01ff9 0.45.0
87
+ 109da5dc9155070e97d50a2ba76ff2e8e8314018 1.0.0
88
+ e44510ccee5cccdc13d3bdec2436e5923e2f36fc 1.0.1
89
+ c700ef6202eebaf480503b47fabf8dbfd1ac6d12 1.1.0
90
+ 518d206a651f517dc3f81678d4913d53efb3bb22 1.1.1
91
+ a1c29a3133c15a1675c158257e5ab5202150627d 1.1.2
92
+ 1f52876e141503eb31e5760d41ac5b657d5b0ba3 1.2.0
93
+ 192753878d0f2af090def3d48d1d1ab48914b305 1.3.0
94
+ 35a5ffade9514e4ccf489d6c1b31a1e1275b2bba 1.3.1
95
+ 220add4ef09049e347d8318c1a57c4d3fb3805af 1.3.2
96
+ af6131a40a94e0f78311efcd4ec204de5f9f1d08 1.3.3
97
+ 383562bc5b301f109fa42b5cc9fa34e0c793a654 1.3.4
98
+ 7c7d78cae32d80371e34ff27be4ac4b68a3184a9 1.4.0
99
+ 549b59fbe4fe3ab48355a38daed6a6499f224a9a 1.4.1
100
+ a1911f2f910b542e21223fb25b01cbdefed8c1fb 1.5.0
101
+ 0af215571aafb83bb5e5011e15ca34f44c4089d0 1.6.0
102
+ 3a4f4e803e4f49627068bf115811558401abc06f 1.7.0
103
+ 6b82fadc2d1dd4defb56b74b6bccd7378c59f735 1.7.1
104
+ ec5c0112d33d3a365aae0e31f7e36f2559507a8b 1.7.2
105
+ f948a05b3ea62f472e24b73b3cae434e07ce2d0a 2.0.0
106
+ 0897485133bf3d166bd16ba30f03d08956c4f4bb 2.0.1
107
+ 276c513974221f3e437f8f9f66e8778bcc226859 2.0.2
108
+ 4cc087a61e12c3ae9cb1ecc1e218d2c3c4d5d4fc 2.0.3
109
+ 1e5786e4d9cb9d9d40bd63ecc565843498799ea7 2.1.0
110
+ 3073e7e04fc49f6f8dc364f50c42a42685b90a72 2.2.0
111
+ e34c0b057682606ecf1c3d07082d49c3066310d3 2.2.1
112
+ 564e6064b86572277614b2993a3bc38e5b3941d9 2.2.2
113
+ edc1cce8ec8e15229db3239ee0bc7db4dc4a0f0d 2.3.0
114
+ 40eacc1321a0fe7f1f4f49e76f93d394546fd7cb 2.3.1
115
+ cd818721b30593115ff33f8768e50a451d2cf656 2.3.2
116
+ 9e26f69e0ef7e4f40e523347ddc825cc9307e95f 2.3.3
117
+ a118debbf0a0deaa94b02ed0007ab2ef0f2b73c3 2.4.0
118
+ c1b00e1bc1bf0a2d41907b345c48cf795f910a4f 2.5.0
119
+ 136dff98ddc1315e6db9479d9b6dd2c2204c2e5f 2.5.1
120
+ 7dbcba18d83708ff81d8cec9696a86d24ed5d20a 2.5.2
121
+ 3a83836b7408f1318a80f1ba97051086596edd12 2.5.3
122
+ 3c955f8f106db667acb67a1cc5fa06b4a7e218e6 2.5.4
123
+ 41919c3cff5ec5a6bbb735987c339c8aa57ed18c 2.5.5
124
+ b956f11f1342d8aada221b747ee16e1328037fcd 2.6.0
125
+ fe4e6866234771c53963b6e53b7fedd755eb11d1 2.7.0
126
+ 3ddc65ae01f3271f70c7a9430334743e0b34251c 2.7.1
127
+ c9f24d13c3f7bbfc5453a4b92f33f0e96c212b51 2.7.2
128
+ 71653477856e0e3fa0e40f9c1d41ad798c1e28b9 2.8.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hgitaly
3
- Version: 2.8.1
3
+ Version: 2.9.0
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
@@ -10,7 +10,7 @@ Keywords: hg mercurial heptapod gitlab
10
10
  Requires-Python: >=3.8
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
- Requires-Dist: heptapod<4.9,>=4.8.0dev0
13
+ Requires-Dist: heptapod>=4.8.0dev0
14
14
  Requires-Dist: protobuf~=4.21.0
15
15
  Requires-Dist: grpcio~=1.58.0
16
16
  Requires-Dist: grpcio-status~=1.58.0
@@ -0,0 +1,31 @@
1
+ #!/bin/sh
2
+
3
+ # Simple script to push any artifact to some Heptapod SFTP server,
4
+ # using the heptapod_known_hosts.ssh file
5
+
6
+ set -eu
7
+
8
+ SFTP_HOST=$1
9
+ # This "key" is just a file name, content is set by file mode of CI variables
10
+ HEPTAPOD_UPLOAD_KEY=$2
11
+ ARTIFACT=$3
12
+ TARGET_DIR=$4
13
+
14
+ echo "Pushing ${ARTIFACT} to ${SFTP_HOST} via SFTP"
15
+
16
+ KNOWN_HOSTS=$(realpath $(dirname $0)/heptapod_known_hosts.ssh)
17
+ SSH_FLAGS="-o IdentitiesOnly=yes -o UserKnownHostsFile=${KNOWN_HOSTS}"
18
+
19
+ if [ -n "$HEPTAPOD_UPLOAD_SSH_PORT" ]; then
20
+ SSH_FLAGS="$SSH_FLAGS -P $HEPTAPOD_UPLOAD_SSH_PORT"
21
+ fi
22
+
23
+ # TODO it would be nice of the runner to set restrictive permissions
24
+ # this right at file creation time (perhaps based on a declarative option),
25
+ # especially since there's no job filtering except based on environments
26
+ chmod 600 ${HEPTAPOD_UPLOAD_KEY}
27
+ # wildcard to include any checksum or signatures
28
+ echo "put ${ARTIFACT}*" | sftp -b- \
29
+ ${SSH_FLAGS} \
30
+ -i ${HEPTAPOD_UPLOAD_KEY} \
31
+ ${HEPTAPOD_UPLOAD_SSH_USER}@${SFTP_HOST}:${HEPTAPOD_UPLOAD_SSH_USER}/${TARGET_DIR}
@@ -0,0 +1,34 @@
1
+ #!/bin/sh
2
+ set -eu
3
+
4
+ PRIVKEY_FILE=$1
5
+ ARTIFACT=$2
6
+ # keyring and passphrase files
7
+ # outside of build and in explicit volatile space for
8
+ # - several protections to guarantee there won't be any persistence
9
+ # - make snooping a bit harder
10
+ KEYRING=/dev/shm/heptapod.gpg
11
+ PASSPHRASE=/dev/shm/heptapod.pass
12
+
13
+ touch $PASSPHRASE && chmod 600 $PASSPHRASE
14
+ echo -n "$HEPTAPOD_PACKAGING_GPG_PASSPHRASE" >> $PASSPHRASE
15
+
16
+ # .gnupg/ still needed for web-of-trust files and the like
17
+ # note: install -d is idempotent
18
+ install -m 700 -d $HOME/.gnupg
19
+
20
+ echo "Importing GPG signing key"
21
+ gpg --no-options --batch \
22
+ --no-default-keyring --keyring $KEYRING \
23
+ --no-secmem-warning \
24
+ --no-permission-warning \
25
+ --pinentry-mode loopback --passphrase-file $PASSPHRASE \
26
+ --import $PRIVKEY_FILE
27
+
28
+ echo "Signing $ARTIFACT with GPG"
29
+ gpg --no-options --batch \
30
+ --no-default-keyring --keyring $KEYRING \
31
+ --pinentry-mode loopback --passphrase-file $PASSPHRASE \
32
+ --armor --detach-sign $ARTIFACT
33
+
34
+ rm -rf $PASSPHRASE $KEYRING $HOME/.gnupg
@@ -0,0 +1,4 @@
1
+ upload.heptapod.net ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/QCY07qEGE56Xvlh4jhfHRKWq71lek/O6t4yTQ6kljIaLW072PXldRINnbK1QLPAoQ6uAPL4diInI00Es9KwPHKmJ9cSPxdcqeKALQnO7B2RE3kzKSiNPnQjvYKC975hK9ds0fgjIWLsG3mUPaGIvzvqotrhlxcpg99OSiOOMr7Ki949CEszYrBxMGQWj7URB8rC2WADmQfq1Igzt44zFfHoDi5r9WTj+YH1Fst+Ig6GiNBPoqtwqRJVFakfqd8mnU0+qUbmNTFB9FA9pJyN4aoDdn8bLbtSjtEmnrD8mKmP9hK1FjrJ3C5Qoy4ycPnPMcdaKkSRVWwH0bYXs46Wb92zqLQtxAoFUTUNDX0njpAF7tObIx3K+HSYQxd+N659DOjEGo/8Npj2ORj+3Vrt/AmCiRvOpXsvJ6uBJpG5u+udqyzij0X5HSQcJQU2nd0qaVPmMCjL3NYGfPrK1NM8NBGuCeHiuPGQjYa8VTHotNmcJrEseMkgYU7g+7AoZsHE=
2
+ upload.heptapod.net ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKpaVgI7yUUHl9qsHkovgni6haMw+a1Ve33kEGX7lcP69oP9RfEKVZbBv6RD4xryLMtxsvAnWltgbYin1Xez98Y=
3
+ upload.heptapod.net ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP+iOvV9FiX4meAqXWTvvMsdqaEKdmE+6DnqJjBQ0mTd
4
+
@@ -0,0 +1,43 @@
1
+ #!/bin/sh
2
+ set -e
3
+
4
+ if [ -z "$1" ]; then
5
+ echo "usage: $0 HGITALY_VERSION";
6
+ exit 1
7
+ fi
8
+
9
+ HGITALY_VERSION=$1
10
+ PREFIX=rhgitaly-${HGITALY_VERSION}
11
+
12
+ if [ -z "$CI_COMMIT_TAG" ]; then
13
+ SUBDIR=public/intermediate
14
+ else
15
+ SUBDIR=public
16
+ fi
17
+ cd `dirname $0`/../dist
18
+
19
+ CI_SCRIPTS=$(realpath $(dirname $0))
20
+
21
+ cd `dirname $0`/../dist
22
+ for SUFFIX in .tgz _linux_amd64; do
23
+ FILENAME=${PREFIX}${SUFFIX}
24
+ FULL_PATH=`realpath $FILENAME`
25
+
26
+ echo "Generating SHA-256 checksum"
27
+ # using just FILENAME to avoid contextual path meaninless for downloaders
28
+ sha256sum ${FILENAME} > ${FILENAME}.sha256sum
29
+
30
+ if [ -n "$HEPTAPOD_PACKAGING_GPG_PRIVKEY" ]; then
31
+ ${CI_SCRIPTS}/heptapod-sign-package $HEPTAPOD_PACKAGING_GPG_PRIVKEY \
32
+ ${FULL_PATH}
33
+ else
34
+ echo "Key not present, skipping GPG signature. "
35
+ echo " This is normal on non-protected tags and branches"
36
+ fi
37
+
38
+ ${CI_SCRIPTS}/heptapod-sftp-push \
39
+ upload.heptapod.net \
40
+ ${HEPTAPOD_TARBALL_UPLOAD_KEY} \
41
+ ${FULL_PATH} \
42
+ ${SUBDIR}/rhgitaly
43
+ done
@@ -0,0 +1,88 @@
1
+ import pytest
2
+
3
+ from hgitaly.service.interceptors import (
4
+ RequestLoggerInterceptor,
5
+ )
6
+ from hgitaly.service.analysis import AnalysisServicer
7
+ from hgitaly.service.blob import BlobServicer
8
+ from hgitaly.service.commit import CommitServicer
9
+ from hgitaly.service.ref import RefServicer
10
+ from hgitaly.service.diff import DiffServicer
11
+ from hgitaly.service.mercurial_changeset import MercurialChangesetServicer
12
+ from hgitaly.service.mercurial_operations import MercurialOperationsServicer
13
+ from hgitaly.service.mercurial_repository import MercurialRepositoryServicer
14
+ from hgitaly.service.operations import OperationServicer
15
+ from hgitaly.service.repository import RepositoryServicer
16
+ from hgitaly.service.server import ServerServicer
17
+
18
+ from hgitaly.stub.analysis_pb2_grpc import (
19
+ add_AnalysisServiceServicer_to_server,
20
+ )
21
+ from hgitaly.stub.blob_pb2_grpc import add_BlobServiceServicer_to_server
22
+ from hgitaly.stub.commit_pb2_grpc import add_CommitServiceServicer_to_server
23
+ from hgitaly.stub.ref_pb2_grpc import add_RefServiceServicer_to_server
24
+ from hgitaly.stub.diff_pb2_grpc import add_DiffServiceServicer_to_server
25
+ from hgitaly.stub.operations_pb2_grpc import (
26
+ add_OperationServiceServicer_to_server
27
+ )
28
+ from hgitaly.stub.repository_pb2_grpc import (
29
+ add_RepositoryServiceServicer_to_server
30
+ )
31
+ from hgitaly.stub.mercurial_changeset_pb2_grpc import (
32
+ add_MercurialChangesetServiceServicer_to_server
33
+ )
34
+ from hgitaly.stub.mercurial_operations_pb2_grpc import (
35
+ add_MercurialOperationsServiceServicer_to_server
36
+ )
37
+ from hgitaly.stub.mercurial_repository_pb2_grpc import (
38
+ add_MercurialRepositoryServiceServicer_to_server
39
+ )
40
+ from hgitaly.stub.server_pb2_grpc import add_ServerServiceServicer_to_server
41
+
42
+
43
+ @pytest.fixture(scope='module')
44
+ def grpc_interceptors():
45
+ return [RequestLoggerInterceptor(),
46
+ ]
47
+
48
+
49
+ @pytest.fixture(scope='module')
50
+ def grpc_server(_grpc_server, grpc_addr, server_repos_root):
51
+ storages = dict(default=str(server_repos_root / 'default').encode())
52
+
53
+ add_AnalysisServiceServicer_to_server(AnalysisServicer(storages),
54
+ _grpc_server)
55
+ add_BlobServiceServicer_to_server(BlobServicer(storages),
56
+ _grpc_server)
57
+ add_CommitServiceServicer_to_server(CommitServicer(storages),
58
+ _grpc_server)
59
+ add_RefServiceServicer_to_server(RefServicer(storages),
60
+ _grpc_server)
61
+ add_DiffServiceServicer_to_server(DiffServicer(storages),
62
+ _grpc_server)
63
+ add_OperationServiceServicer_to_server(
64
+ OperationServicer(storages),
65
+ _grpc_server)
66
+ add_RepositoryServiceServicer_to_server(
67
+ RepositoryServicer(storages),
68
+ _grpc_server)
69
+ add_MercurialChangesetServiceServicer_to_server(
70
+ MercurialChangesetServicer(storages),
71
+ _grpc_server)
72
+ add_MercurialOperationsServiceServicer_to_server(
73
+ MercurialOperationsServicer(storages),
74
+ _grpc_server)
75
+ add_MercurialRepositoryServiceServicer_to_server(
76
+ MercurialRepositoryServicer(storages),
77
+ _grpc_server)
78
+ add_ServerServiceServicer_to_server(ServerServicer(storages),
79
+ _grpc_server)
80
+ _grpc_server.add_insecure_port(grpc_addr)
81
+ _grpc_server.start()
82
+ yield _grpc_server
83
+ _grpc_server.stop(grace=None)
84
+
85
+
86
+ @pytest.fixture(scope='module')
87
+ def server_repos_root(tmp_path_factory):
88
+ return tmp_path_factory.mktemp("server-repos")
@@ -0,0 +1,2 @@
1
+ -r test-requirements.txt
2
+ grpcio-tools
@@ -0,0 +1,48 @@
1
+ # Copyright 2020 Georges Racinet <georges.racinet@octobus.net>
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
+ """HGitaly example client.
8
+
9
+ Can be expanded upon for debugging sessions.
10
+
11
+ To run multiple concurrent
12
+ """
13
+ import grpc
14
+ import os
15
+
16
+ from hgitaly.stub import (
17
+ ref_pb2,
18
+ ref_pb2_grpc,
19
+ )
20
+ from hgitaly.stub.shared_pb2 import (
21
+ Repository,
22
+ )
23
+
24
+ PID = os.getpid()
25
+
26
+
27
+ def rpc(channel, storage, rel_path):
28
+ """An example RPC call."""
29
+ ref_stub = ref_pb2_grpc.RefServiceStub(channel)
30
+ return ref_stub.FindAllBranchNames(
31
+ ref_pb2.FindAllBranchNamesRequest(
32
+ repository=Repository(relative_path=rel_path,
33
+ storage_name=storage))
34
+ )
35
+
36
+
37
+ def run(storage, rel_path):
38
+ with grpc.insecure_channel('localhost:9237') as channel:
39
+ resp = rpc(channel, storage, rel_path)
40
+ print("%d: got branch name chunks of size %r" % (
41
+ PID,
42
+ [len(chunk.names) for chunk in resp]
43
+ ))
44
+
45
+
46
+ if __name__ == '__main__':
47
+ for _ in range(100):
48
+ run('default', 'test-repo-relative-path')
@@ -0,0 +1,55 @@
1
+ # Copyright 2020 Georges Racinet <georges.racinet@octobus.net>
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
+ """HGitaly example client.
8
+
9
+ Can be expanded upon for debugging sessions.
10
+
11
+ To run multiple concurrent
12
+ """
13
+ import grpc
14
+ import os
15
+ from pprint import pprint
16
+
17
+ from hgitaly.stub import (
18
+ commit_pb2,
19
+ commit_pb2_grpc,
20
+ )
21
+ from hgitaly.stub.shared_pb2 import (
22
+ Repository,
23
+ )
24
+
25
+ PID = os.getpid()
26
+
27
+
28
+ def rpc(channel, storage, rel_path, **kw):
29
+ """An example RPC call."""
30
+ client_stub = commit_pb2_grpc.CommitServiceStub(channel)
31
+ return client_stub.ListLastCommitsForTree(
32
+ commit_pb2.ListLastCommitsForTreeRequest(
33
+ repository=Repository(relative_path=rel_path,
34
+ storage_name=storage),
35
+ **kw)
36
+ )
37
+
38
+
39
+ def run(rel_path, storage='default', **kw):
40
+ with grpc.insecure_channel('localhost:9237') as channel:
41
+ paths = [(ct.path_bytes, ct.commit.id[:11])
42
+ for resp in rpc(channel, storage, rel_path, **kw)
43
+ for ct in resp.commits]
44
+ print("Got %d paths" % len(paths))
45
+ pprint(paths)
46
+
47
+
48
+ if __name__ == '__main__':
49
+ run("@hashed/6f/4b/"
50
+ "6f4b6612125fb3a0daecd2799dfd6c9c299424fd920f9b308110a2c1fbd8f443.git",
51
+ revision=b'branch/default',
52
+ path=b"tests/",
53
+ offset=0,
54
+ limit=26,
55
+ )
@@ -0,0 +1,33 @@
1
+ #!/bin/sh
2
+
3
+ set -eu
4
+
5
+ cd `dirname $0`
6
+
7
+ PROTOS_DIR=./protos
8
+ STUBS_DIR=hgitaly/stub
9
+
10
+ echo "Generating Python stubs"
11
+
12
+ for PROTO in lint shared errors blob commit diff operations \
13
+ analysis ref repository server \
14
+ mercurial-repository mercurial-changeset mercurial-operations; do
15
+ python -m grpc_tools.protoc \
16
+ -I${PROTOS_DIR} \
17
+ --python_out=${STUBS_DIR} \
18
+ --grpc_python_out=${STUBS_DIR} \
19
+ ${PROTOS_DIR}/${PROTO}.proto
20
+
21
+ MODULE=$(echo $PROTO | sed 's/-/_/g')
22
+
23
+ sed -E -i 's/^import ([[:alnum:]_]+_pb2)/from . import \1/g' \
24
+ ${STUBS_DIR}/${MODULE}_pb2.py \
25
+ ${STUBS_DIR}/${MODULE}_pb2_grpc.py
26
+
27
+ done
28
+
29
+ echo
30
+ echo "Generating Ruby lib"
31
+
32
+ cd ruby
33
+ ./generate-grpc-lib
@@ -0,0 +1 @@
1
+ 2.9.0