hgitaly 17.11.0__tar.gz → 17.11.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 (309) hide show
  1. {hgitaly-17.11.0 → hgitaly-17.11.1}/PKG-INFO +1 -1
  2. hgitaly-17.11.1/hgitaly/VERSION +1 -0
  3. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/revision.py +4 -1
  4. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/commit.py +21 -8
  5. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_commit.py +3 -0
  6. hgitaly-17.11.1/hgitaly/stub/mercurial_operations_pb2.py +95 -0
  7. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/mercurial_operations_pb2_grpc.py +46 -0
  8. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly.egg-info/PKG-INFO +1 -1
  9. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly.egg-info/SOURCES.txt +1 -132
  10. hgitaly-17.11.1/tests_with_gitaly/test_mercurial_operations.py +68 -0
  11. hgitaly-17.11.0/.coveragerc +0 -5
  12. hgitaly-17.11.0/.gitlab-ci.yml +0 -154
  13. hgitaly-17.11.0/.hgignore +0 -34
  14. hgitaly-17.11.0/.hgtags +0 -142
  15. hgitaly-17.11.0/ci/heptapod-sftp-push +0 -31
  16. hgitaly-17.11.0/ci/heptapod-sign-package +0 -34
  17. hgitaly-17.11.0/ci/heptapod_known_hosts.ssh +0 -4
  18. hgitaly-17.11.0/ci/upload-rhgitaly +0 -43
  19. hgitaly-17.11.0/conftest.py +0 -92
  20. hgitaly-17.11.0/dev-requirements.txt +0 -2
  21. hgitaly-17.11.0/examples/client.py +0 -48
  22. hgitaly-17.11.0/examples/client_list_lcft.py +0 -55
  23. hgitaly-17.11.0/generate-stubs +0 -34
  24. hgitaly-17.11.0/hgitaly/VERSION +0 -1
  25. hgitaly-17.11.0/hgitaly/license_detector/GPL-2.sample +0 -339
  26. hgitaly-17.11.0/hgitaly/stub/mercurial_operations_pb2.py +0 -87
  27. hgitaly-17.11.0/hgitaly/testing/data/authorized_keys +0 -1
  28. hgitaly-17.11.0/hgitaly/testing/data/backup_additional_no_git.tar +0 -0
  29. hgitaly-17.11.0/hgitaly/testing/data/id_ecdsa_user +0 -38
  30. hgitaly-17.11.0/hgitaly/testing/data/known_hosts +0 -2
  31. hgitaly-17.11.0/hgitaly/testing/data/ssh_host_ecdsa_key +0 -9
  32. hgitaly-17.11.0/hgitaly/testing/data/ssh_host_ecdsa_key.pub +0 -1
  33. hgitaly-17.11.0/hgitaly/testing/data/ssh_host_ed25519 +0 -8
  34. hgitaly-17.11.0/hgitaly/testing/data/ssh_host_ed25519.pub +0 -1
  35. hgitaly-17.11.0/hgitaly/testing/data/sshd_config +0 -17
  36. hgitaly-17.11.0/lint +0 -7
  37. hgitaly-17.11.0/protos/analysis.proto +0 -62
  38. hgitaly-17.11.0/protos/blob.proto +0 -299
  39. hgitaly-17.11.0/protos/cleanup.proto +0 -88
  40. hgitaly-17.11.0/protos/cluster.proto +0 -126
  41. hgitaly-17.11.0/protos/commit.proto +0 -985
  42. hgitaly-17.11.0/protos/conflicts.proto +0 -137
  43. hgitaly-17.11.0/protos/diff.proto +0 -622
  44. hgitaly-17.11.0/protos/errors.proto +0 -228
  45. hgitaly-17.11.0/protos/hook.proto +0 -205
  46. hgitaly-17.11.0/protos/internal.proto +0 -37
  47. hgitaly-17.11.0/protos/lint.proto +0 -75
  48. hgitaly-17.11.0/protos/log.proto +0 -134
  49. hgitaly-17.11.0/protos/mercurial-changeset.proto +0 -96
  50. hgitaly-17.11.0/protos/mercurial-operations.proto +0 -213
  51. hgitaly-17.11.0/protos/mercurial-repository.proto +0 -364
  52. hgitaly-17.11.0/protos/namespace.proto +0 -98
  53. hgitaly-17.11.0/protos/objectpool.proto +0 -173
  54. hgitaly-17.11.0/protos/operations.proto +0 -1139
  55. hgitaly-17.11.0/protos/packfile.proto +0 -26
  56. hgitaly-17.11.0/protos/partition.proto +0 -70
  57. hgitaly-17.11.0/protos/praefect.proto +0 -222
  58. hgitaly-17.11.0/protos/ref.proto +0 -593
  59. hgitaly-17.11.0/protos/remote.proto +0 -153
  60. hgitaly-17.11.0/protos/repository.proto +0 -1440
  61. hgitaly-17.11.0/protos/server.proto +0 -123
  62. hgitaly-17.11.0/protos/service_config.proto +0 -86
  63. hgitaly-17.11.0/protos/shared.proto +0 -248
  64. hgitaly-17.11.0/protos/smarthttp.proto +0 -121
  65. hgitaly-17.11.0/protos/ssh.proto +0 -109
  66. hgitaly-17.11.0/protos/transaction.proto +0 -104
  67. hgitaly-17.11.0/protos/wiki.proto +0 -211
  68. hgitaly-17.11.0/ruby/.ruby-version +0 -1
  69. hgitaly-17.11.0/ruby/Gemfile +0 -5
  70. hgitaly-17.11.0/ruby/README.md +0 -48
  71. hgitaly-17.11.0/ruby/generate-grpc-lib +0 -63
  72. hgitaly-17.11.0/ruby/hgitaly.gemspec +0 -25
  73. hgitaly-17.11.0/ruby/lib/hgitaly/mercurial-changeset_pb.rb +0 -69
  74. hgitaly-17.11.0/ruby/lib/hgitaly/mercurial-changeset_services_pb.rb +0 -25
  75. hgitaly-17.11.0/ruby/lib/hgitaly/mercurial-operations_pb.rb +0 -125
  76. hgitaly-17.11.0/ruby/lib/hgitaly/mercurial-operations_services_pb.rb +0 -49
  77. hgitaly-17.11.0/ruby/lib/hgitaly/mercurial-repository_pb.rb +0 -163
  78. hgitaly-17.11.0/ruby/lib/hgitaly/mercurial-repository_services_pb.rb +0 -79
  79. hgitaly-17.11.0/ruby/lib/hgitaly/version.rb +0 -4
  80. hgitaly-17.11.0/ruby/lib/hgitaly.rb +0 -13
  81. hgitaly-17.11.0/ruby/run.rb +0 -39
  82. hgitaly-17.11.0/run-all-tests +0 -24
  83. hgitaly-17.11.0/rust/Cargo.lock +0 -3266
  84. hgitaly-17.11.0/rust/Cargo.toml +0 -4
  85. hgitaly-17.11.0/rust/Makefile +0 -69
  86. hgitaly-17.11.0/rust/build-from-tarball.sh +0 -30
  87. hgitaly-17.11.0/rust/check-line-width +0 -48
  88. hgitaly-17.11.0/rust/dependencies/README.md +0 -19
  89. hgitaly-17.11.0/rust/dependencies/mercurial.patch +0 -39
  90. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/any.proto +0 -158
  91. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/api.proto +0 -208
  92. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/compiler/plugin.proto +0 -183
  93. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/descriptor.proto +0 -911
  94. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/duration.proto +0 -116
  95. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/empty.proto +0 -52
  96. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/field_mask.proto +0 -245
  97. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/source_context.proto +0 -48
  98. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/struct.proto +0 -95
  99. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/timestamp.proto +0 -147
  100. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/type.proto +0 -187
  101. hgitaly-17.11.0/rust/dependencies/proto/google/protobuf/wrappers.proto +0 -123
  102. hgitaly-17.11.0/rust/go-enry.rev +0 -1
  103. hgitaly-17.11.0/rust/lint +0 -14
  104. hgitaly-17.11.0/rust/mercurial.rev +0 -1
  105. hgitaly-17.11.0/rust/rhgitaly/Cargo.toml +0 -48
  106. hgitaly-17.11.0/rust/rhgitaly/build.rs +0 -46
  107. hgitaly-17.11.0/rust/rhgitaly/clippy.toml +0 -6
  108. hgitaly-17.11.0/rust/rhgitaly/src/config.rs +0 -167
  109. hgitaly-17.11.0/rust/rhgitaly/src/errors.rs +0 -123
  110. hgitaly-17.11.0/rust/rhgitaly/src/generated/README.md +0 -7
  111. hgitaly-17.11.0/rust/rhgitaly/src/git.rs +0 -293
  112. hgitaly-17.11.0/rust/rhgitaly/src/gitlab/mod.rs +0 -50
  113. hgitaly-17.11.0/rust/rhgitaly/src/gitlab/reference.rs +0 -83
  114. hgitaly-17.11.0/rust/rhgitaly/src/gitlab/revision.rs +0 -320
  115. hgitaly-17.11.0/rust/rhgitaly/src/gitlab/state.rs +0 -508
  116. hgitaly-17.11.0/rust/rhgitaly/src/glob.rs +0 -227
  117. hgitaly-17.11.0/rust/rhgitaly/src/lib.rs +0 -44
  118. hgitaly-17.11.0/rust/rhgitaly/src/main.rs +0 -121
  119. hgitaly-17.11.0/rust/rhgitaly/src/mercurial.rs +0 -1366
  120. hgitaly-17.11.0/rust/rhgitaly/src/message.rs +0 -468
  121. hgitaly-17.11.0/rust/rhgitaly/src/metadata.rs +0 -27
  122. hgitaly-17.11.0/rust/rhgitaly/src/oid.rs +0 -86
  123. hgitaly-17.11.0/rust/rhgitaly/src/process.rs +0 -39
  124. hgitaly-17.11.0/rust/rhgitaly/src/repository/spawner.rs +0 -559
  125. hgitaly-17.11.0/rust/rhgitaly/src/service/analysis.rs +0 -184
  126. hgitaly-17.11.0/rust/rhgitaly/src/service/blob.rs +0 -260
  127. hgitaly-17.11.0/rust/rhgitaly/src/service/commit/find_commits.rs +0 -203
  128. hgitaly-17.11.0/rust/rhgitaly/src/service/commit/get_tree_entries.rs +0 -291
  129. hgitaly-17.11.0/rust/rhgitaly/src/service/commit/last_commits.rs +0 -569
  130. hgitaly-17.11.0/rust/rhgitaly/src/service/commit/tree_entry.rs +0 -154
  131. hgitaly-17.11.0/rust/rhgitaly/src/service/diff.rs +0 -97
  132. hgitaly-17.11.0/rust/rhgitaly/src/service/mercurial_repository.rs +0 -435
  133. hgitaly-17.11.0/rust/rhgitaly/src/service/mod.rs +0 -15
  134. hgitaly-17.11.0/rust/rhgitaly/src/service/ref.rs +0 -660
  135. hgitaly-17.11.0/rust/rhgitaly/src/service/remote.rs +0 -669
  136. hgitaly-17.11.0/rust/rhgitaly/src/service/repository.rs +0 -777
  137. hgitaly-17.11.0/rust/rhgitaly/src/service/server.rs +0 -34
  138. hgitaly-17.11.0/rust/rhgitaly/src/sidecar.rs +0 -186
  139. hgitaly-17.11.0/rust/rhgitaly/src/ssh.rs +0 -102
  140. hgitaly-17.11.0/rust/rhgitaly/src/streaming.rs +0 -402
  141. hgitaly-17.11.0/rust/rhgitaly/src/util.rs +0 -132
  142. hgitaly-17.11.0/rust/rs-enry.rev +0 -1
  143. hgitaly-17.11.0/rust/src-tarball.sh +0 -63
  144. hgitaly-17.11.0/test-requirements.txt +0 -8
  145. {hgitaly-17.11.0 → hgitaly-17.11.1}/LICENSE +0 -0
  146. {hgitaly-17.11.0 → hgitaly-17.11.1}/MANIFEST.in +0 -0
  147. {hgitaly-17.11.0 → hgitaly-17.11.1}/README.md +0 -0
  148. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgext3rd/__init__.py +0 -0
  149. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgext3rd/hgitaly/__init__.py +0 -0
  150. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgext3rd/hgitaly/revset.py +0 -0
  151. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgext3rd/hgitaly/tests/__init__.py +0 -0
  152. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgext3rd/hgitaly/tests/test_revset.py +0 -0
  153. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgext3rd/hgitaly/tests/test_serve.py +0 -0
  154. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/__init__.py +0 -0
  155. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/branch.py +0 -0
  156. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/changelog.py +0 -0
  157. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/diff.py +0 -0
  158. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/errors.py +0 -0
  159. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/feature.py +0 -0
  160. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/file_content.py +0 -0
  161. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/file_context.py +0 -0
  162. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/git.py +0 -0
  163. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/gitlab_ref.py +0 -0
  164. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/identification.py +0 -0
  165. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/license_detector/__init__.py +0 -0
  166. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/license_detector/spdx-licenses.json +0 -0
  167. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/linguist/__init__.py +0 -0
  168. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/linguist/languages.json +0 -0
  169. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/logging.py +0 -0
  170. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/manifest.py +0 -0
  171. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/message.py +0 -0
  172. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/oid.py +0 -0
  173. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/pagination.py +0 -0
  174. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/path.py +0 -0
  175. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/peer.py +0 -0
  176. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/procutil.py +0 -0
  177. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/repository.py +0 -0
  178. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/revset.py +0 -0
  179. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/scripts.py +0 -0
  180. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/server/__init__.py +0 -0
  181. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/server/address.py +0 -0
  182. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/server/mono.py +0 -0
  183. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/server/prefork.py +0 -0
  184. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/server/tests/__init__.py +0 -0
  185. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/server/tests/test_address.py +0 -0
  186. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/server/tests/test_mono.py +0 -0
  187. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/server/tests/test_prefork.py +0 -0
  188. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/server/tests/test_worker.py +0 -0
  189. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/server/worker.py +0 -0
  190. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/__init__.py +0 -0
  191. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/analysis.py +0 -0
  192. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/blob.py +0 -0
  193. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/diff.py +0 -0
  194. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/interceptors.py +0 -0
  195. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/mercurial_changeset.py +0 -0
  196. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/mercurial_operations.py +0 -0
  197. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/mercurial_repository.py +0 -0
  198. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/operations.py +0 -0
  199. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/ref.py +0 -0
  200. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/repository.py +0 -0
  201. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/server.py +0 -0
  202. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/__init__.py +0 -0
  203. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/fixture.py +0 -0
  204. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_analysis.py +0 -0
  205. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_blob.py +0 -0
  206. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_default_branch.py +0 -0
  207. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_diff.py +0 -0
  208. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_mercurial_changeset.py +0 -0
  209. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_mercurial_operations.py +0 -0
  210. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_mercurial_repository.py +0 -0
  211. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_operations.py +0 -0
  212. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_ref.py +0 -0
  213. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_repository_service.py +0 -0
  214. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/service/tests/test_server.py +0 -0
  215. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/servicer.py +0 -0
  216. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/ssh.py +0 -0
  217. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stream.py +0 -0
  218. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/__init__.py +0 -0
  219. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/analysis_pb2.py +0 -0
  220. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/analysis_pb2_grpc.py +0 -0
  221. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/blob_pb2.py +0 -0
  222. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/blob_pb2_grpc.py +0 -0
  223. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/commit_pb2.py +0 -0
  224. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/commit_pb2_grpc.py +0 -0
  225. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/diff_pb2.py +0 -0
  226. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/diff_pb2_grpc.py +0 -0
  227. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/errors_pb2.py +0 -0
  228. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/errors_pb2_grpc.py +0 -0
  229. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/lint_pb2.py +0 -0
  230. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/lint_pb2_grpc.py +0 -0
  231. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/mercurial_aux_git_pb2.py +0 -0
  232. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/mercurial_aux_git_pb2_grpc.py +0 -0
  233. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/mercurial_changeset_pb2.py +0 -0
  234. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/mercurial_changeset_pb2_grpc.py +0 -0
  235. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/mercurial_repository_pb2.py +0 -0
  236. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/mercurial_repository_pb2_grpc.py +0 -0
  237. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/operations_pb2.py +0 -0
  238. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/operations_pb2_grpc.py +0 -0
  239. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/ref_pb2.py +0 -0
  240. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/ref_pb2_grpc.py +0 -0
  241. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/remote_pb2.py +0 -0
  242. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/remote_pb2_grpc.py +0 -0
  243. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/repository_pb2.py +0 -0
  244. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/repository_pb2_grpc.py +0 -0
  245. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/server_pb2.py +0 -0
  246. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/server_pb2_grpc.py +0 -0
  247. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/shared_pb2.py +0 -0
  248. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/stub/shared_pb2_grpc.py +0 -0
  249. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tag.py +0 -0
  250. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/testing/__init__.py +0 -0
  251. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/testing/bundle.py +0 -0
  252. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/testing/context.py +0 -0
  253. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/testing/grpc.py +0 -0
  254. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/testing/multiprocessing.py +0 -0
  255. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/testing/ssh.py +0 -0
  256. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/testing/sshd.py +0 -0
  257. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/testing/storage.py +0 -0
  258. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/testing/tests/__init__.py +0 -0
  259. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/testing/tests/test_sshd.py +0 -0
  260. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/__init__.py +0 -0
  261. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/common.py +0 -0
  262. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_branch.py +0 -0
  263. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_diff.py +0 -0
  264. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_errors.py +0 -0
  265. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_feature.py +0 -0
  266. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_file_context.py +0 -0
  267. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_gitlab_ref.py +0 -0
  268. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_identification.py +0 -0
  269. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_license_detector.py +0 -0
  270. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_linguist.py +0 -0
  271. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_manifest.py +0 -0
  272. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_messages.py +0 -0
  273. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_oid.py +0 -0
  274. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_peer.py +0 -0
  275. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_repository.py +0 -0
  276. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_revision.py +0 -0
  277. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_revset.py +0 -0
  278. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_servicer.py +0 -0
  279. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_stream.py +0 -0
  280. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_tag.py +0 -0
  281. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/tests/test_workdir.py +0 -0
  282. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/util.py +0 -0
  283. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly/workdir.py +0 -0
  284. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly.egg-info/dependency_links.txt +0 -0
  285. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly.egg-info/entry_points.txt +0 -0
  286. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly.egg-info/requires.txt +0 -0
  287. {hgitaly-17.11.0 → hgitaly-17.11.1}/hgitaly.egg-info/top_level.txt +0 -0
  288. {hgitaly-17.11.0 → hgitaly-17.11.1}/install-requirements.txt +0 -0
  289. {hgitaly-17.11.0 → hgitaly-17.11.1}/setup.cfg +0 -0
  290. {hgitaly-17.11.0 → hgitaly-17.11.1}/setup.py +0 -0
  291. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/__init__.py +0 -0
  292. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/comparison.py +0 -0
  293. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/conftest.py +0 -0
  294. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/gitaly.py +0 -0
  295. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/hgitaly_rhgitaly_comparison.py +0 -0
  296. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/rhgitaly.py +0 -0
  297. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_blob_tree.py +0 -0
  298. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_commit.py +0 -0
  299. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_comparison.py +0 -0
  300. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_diff.py +0 -0
  301. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_gitaly_server.py +0 -0
  302. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_mercurial_aux_git.py +0 -0
  303. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_mercurial_repository.py +0 -0
  304. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_operations.py +0 -0
  305. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_ref.py +0 -0
  306. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_remote.py +0 -0
  307. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_repository_service.py +0 -0
  308. {hgitaly-17.11.0 → hgitaly-17.11.1}/tests_with_gitaly/test_rhgitaly_server.py +0 -0
  309. {hgitaly-17.11.0 → hgitaly-17.11.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: 17.11.0
3
+ Version: 17.11.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
+ 17.11.1
@@ -145,6 +145,7 @@ def gitlab_revision_hash(repo, revision):
145
145
 
146
146
 
147
147
  ALL_CHANGESETS = object()
148
+ VISIBLE_CHANGESETS = object()
148
149
 
149
150
 
150
151
  def resolve_revspecs_positive_negative(repo, revisions,
@@ -184,9 +185,11 @@ def resolve_revspecs_positive_negative(repo, revisions,
184
185
  else:
185
186
  if rev == b'ALL':
186
187
  positive = ALL_CHANGESETS
188
+ elif rev == b'--visible':
189
+ positive = VISIBLE_CHANGESETS
187
190
  collection = positive
188
191
 
189
- if collection is ALL_CHANGESETS:
192
+ if collection in (ALL_CHANGESETS, VISIBLE_CHANGESETS):
190
193
  # resolution is useless
191
194
  continue
192
195
 
@@ -51,6 +51,7 @@ from ..pagination import (
51
51
  extract_limit,
52
52
  )
53
53
  from ..revision import (
54
+ VISIBLE_CHANGESETS,
54
55
  RevisionNotFound,
55
56
  gitlab_revision_changeset,
56
57
  resolve_revspecs_positive_negative,
@@ -902,14 +903,21 @@ class CommitServicer(CommitServiceServicer, HGitalyServicer):
902
903
  context.abort(StatusCode.INTERNAL,
903
904
  "Revision %r could not be resolved" % exc.args[0])
904
905
 
905
- # now that resolution is done, we can and have to switch to
906
- # the unfiltered view, because the resulting hashes can be of
907
- # obsolete changesets.
908
- repo = repo.unfiltered()
909
- if negative:
910
- revset = b'only(%ls, %ls)'
906
+ if positive is VISIBLE_CHANGESETS:
907
+ # do not switch to unfiltered view!
908
+ if negative:
909
+ revset = b'not ::%ls'
910
+ else:
911
+ revset = b'all()'
911
912
  else:
912
- revset = b'::%ls'
913
+ # now that resolution is done, we can and have to switch to
914
+ # the unfiltered view, because the resulting hashes can be of
915
+ # obsolete changesets.
916
+ repo = repo.unfiltered()
917
+ if negative:
918
+ revset = b'only(%ls, %ls)'
919
+ else:
920
+ revset = b'::%ls'
913
921
 
914
922
  msg_patterns = request.commit_message_patterns
915
923
  ignore_case = request.ignore_case
@@ -937,7 +945,12 @@ class CommitServicer(CommitServiceServicer, HGitalyServicer):
937
945
  revset = b'sort(%s, %s)' % (revset, sort_key)
938
946
 
939
947
  try:
940
- if negative:
948
+ if positive is VISIBLE_CHANGESETS:
949
+ if negative:
950
+ revs = repo.revs(revset, negative)
951
+ else:
952
+ revs = repo.revs(revset)
953
+ elif negative:
941
954
  revs = repo.revs(revset, positive, negative)
942
955
  else:
943
956
  revs = repo.revs(revset, positive)
@@ -1333,6 +1333,7 @@ def test_list_commits(commit_fixture_empty_repo):
1333
1333
  ctx0 = wrapper.commit_file('foo', message="root changeset")
1334
1334
  sha0 = ctx0.hex()
1335
1335
  ctx1 = wrapper.commit_file('foo', topic='sampletop')
1336
+ sha1 = ctx1.hex()
1336
1337
  wrapper.update(ctx0.rev())
1337
1338
  wrapper.command(b'mv', wrapper.repo.root + b'/foo',
1338
1339
  wrapper.repo.root + b'/zoo')
@@ -1351,6 +1352,8 @@ def test_list_commits(commit_fixture_empty_repo):
1351
1352
  def caret(ctx):
1352
1353
  return b'^' + ctx.hex()
1353
1354
 
1355
+ assert list_commits('--visible') == [sha4, sha3, sha2, sha1, sha0]
1356
+ assert list_commits('--visible', caret(ctx3)) == [sha4, sha2, sha1]
1354
1357
  assert list_commits(sha4, caret(ctx1)) == [sha4, sha3, sha2]
1355
1358
  assert list_commits(sha4, caret(ctx1), reverse=True) == [sha2, sha3, sha4]
1356
1359
  assert list_commits(sha4, caret(ctx1), skip=1) == [sha3, sha2]
@@ -0,0 +1,95 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: mercurial-operations.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from . import errors_pb2 as errors__pb2
16
+ from . import lint_pb2 as lint__pb2
17
+ from . import shared_pb2 as shared__pb2
18
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
19
+ from . import operations_pb2 as operations__pb2
20
+
21
+
22
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1amercurial-operations.proto\x12\x07hgitaly\x1a\x0c\x65rrors.proto\x1a\nlint.proto\x1a\x0cshared.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x10operations.proto\"\x94\x01\n\x14MergeAnalysisRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x17\n\x0fsource_revision\x18\x02 \x01(\x0c\x12\x17\n\x0ftarget_revision\x18\x03 \x01(\x0c\x12\x1c\n\x14skip_conflicts_check\x18\x04 \x01(\x08\"\xad\x02\n\x15MergeAnalysisResponse\x12\x17\n\x0fis_fast_forward\x18\x01 \x01(\x08\x12\x1f\n\x17has_obsolete_changesets\x18\x02 \x01(\x08\x12\x1f\n\x17has_unstable_changesets\x18\x03 \x01(\x08\x12\x15\n\rhas_conflicts\x18\x04 \x01(\x08\x12\x18\n\x10target_is_public\x18\x05 \x01(\x08\x12\x16\n\x0etarget_node_id\x18\x06 \x01(\t\x12\x15\n\rtarget_branch\x18\x07 \x01(\x0c\x12\x14\n\x0ctarget_topic\x18\x08 \x01(\x0c\x12\x16\n\x0esource_node_id\x18\t \x01(\t\x12\x15\n\rsource_branch\x18\n \x01(\x0c\x12\x14\n\x0csource_topic\x18\x0b \x01(\x0c\"N\n\x1eInvalidateMergeAnalysisRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\"<\n\x1fInvalidateMergeAnalysisResponse\x12\x19\n\x11invalidated_count\x18\x01 \x01(\r\"\xad\x01\n\x17PublishChangesetRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x1a\n\x04user\x18\x02 \x01(\x0b\x32\x0c.gitaly.User\x12/\n\x08hg_perms\x18\x03 \x01(\x0e\x32\x1d.hgitaly.MercurialPermissions\x12\x17\n\x0fgitlab_revision\x18\x04 \x01(\x0c\"\x1a\n\x18PublishChangesetResponse\"P\n\x15PublishChangesetError\x12.\n\x0bgitlab_hook\x18\x01 \x01(\x0b\x32\x17.gitaly.CustomHookErrorH\x00\x42\x07\n\x05\x65rror\"\xa1\x02\n\x12MergeBranchRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x1a\n\x04user\x18\x02 \x01(\x0b\x32\x0c.gitaly.User\x12/\n\x08hg_perms\x18\x03 \x01(\x0e\x32\x1d.hgitaly.MercurialPermissions\x12\x11\n\tcommit_id\x18\x04 \x01(\t\x12\x0e\n\x06\x62ranch\x18\x05 \x01(\x0c\x12\x0f\n\x07message\x18\x06 \x01(\x0c\x12-\n\ttimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10\x65xpected_old_oid\x18\x08 \x01(\t\x12\x13\n\x0bsemi_linear\x18\t \x01(\x08\"K\n\x13MergeBranchResponse\x12\x34\n\rbranch_update\x18\x01 \x01(\x0b\x32\x1d.gitaly.OperationBranchUpdate\"\xe7\x01\n\x10MergeBranchError\x12.\n\x0bgitlab_hook\x18\x01 \x01(\x0b\x32\x17.gitaly.CustomHookErrorH\x00\x12.\n\x08\x63onflict\x18\x02 \x01(\x0b\x32\x1a.gitaly.MergeConflictErrorH\x00\x12\x37\n\x0freference_check\x18\x03 \x01(\x0b\x32\x1c.gitaly.ReferenceUpdateErrorH\x00\x12\x31\n\tpre_check\x18\x04 \x01(\x0e\x32\x1c.hgitaly.PreCheckUpdateErrorH\x00\x42\x07\n\x05\x65rror\"\x9a\x01\n\rCensorRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x1a\n\x04user\x18\x02 \x01(\x0b\x32\x0c.gitaly.User\x12\x19\n\x11\x63hangeset_node_id\x18\x03 \x01(\t\x12\x11\n\tfile_path\x18\x04 \x01(\x0c\x12\x11\n\ttombstone\x18\x05 \x01(\x0c\"\x10\n\x0e\x43\x65nsorResponse\"\x87\x01\n\x1aGetWorkingDirectoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x11\n\tclient_id\x18\x02 \x01(\t\x12\x16\n\x0eincarnation_id\x18\x03 \x01(\t\x12\x10\n\x08revision\x18\x04 \x01(\x0c\"R\n\x1bGetWorkingDirectoryResponse\x12\x1c\n\x14working_directory_id\x18\x01 \x01(\r\x12\x15\n\rrelative_path\x18\x02 \x01(\t\"\x97\x01\n\x1eReleaseWorkingDirectoryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x11\n\tclient_id\x18\x02 \x01(\t\x12\x16\n\x0eincarnation_id\x18\x03 \x01(\t\x12\x1c\n\x14working_directory_id\x18\x04 \x01(\r\"!\n\x1fReleaseWorkingDirectoryResponse*8\n\x14MercurialPermissions\x12\x08\n\x04READ\x10\x00\x12\t\n\x05WRITE\x10\x01\x12\x0b\n\x07PUBLISH\x10\x02*k\n\x13PreCheckUpdateError\x12\x0e\n\nNO_PROBLEM\x10\x00\x12\x14\n\x10NOT_FAST_FORWARD\x10\x01\x12\x16\n\x12OBSOLETE_CHANGESET\x10\x02\x12\x16\n\x12UNSTABLE_CHANGESET\x10\x03\x32\xc0\x05\n\x1aMercurialOperationsService\x12V\n\rMergeAnalysis\x12\x1d.hgitaly.MergeAnalysisRequest\x1a\x1e.hgitaly.MergeAnalysisResponse\"\x06\xfa\x97(\x02\x08\x02\x12t\n\x17InvalidateMergeAnalysis\x12\'.hgitaly.InvalidateMergeAnalysisRequest\x1a(.hgitaly.InvalidateMergeAnalysisResponse\"\x06\xfa\x97(\x02\x08\x02\x12_\n\x10PublishChangeset\x12 .hgitaly.PublishChangesetRequest\x1a!.hgitaly.PublishChangesetResponse\"\x06\xfa\x97(\x02\x08\x01\x12\x41\n\x06\x43\x65nsor\x12\x16.hgitaly.CensorRequest\x1a\x17.hgitaly.CensorResponse\"\x06\xfa\x97(\x02\x08\x01\x12P\n\x0bMergeBranch\x12\x1b.hgitaly.MergeBranchRequest\x1a\x1c.hgitaly.MergeBranchResponse\"\x06\xfa\x97(\x02\x08\x01\x12h\n\x13GetWorkingDirectory\x12#.hgitaly.GetWorkingDirectoryRequest\x1a$.hgitaly.GetWorkingDirectoryResponse\"\x06\xfa\x97(\x02\x08\x01\x12t\n\x17ReleaseWorkingDirectory\x12\'.hgitaly.ReleaseWorkingDirectoryRequest\x1a(.hgitaly.ReleaseWorkingDirectoryResponse\"\x06\xfa\x97(\x02\x08\x01\x62\x06proto3')
23
+
24
+ _globals = globals()
25
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
26
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'mercurial_operations_pb2', _globals)
27
+ if not _descriptor._USE_C_DESCRIPTORS:
28
+ DESCRIPTOR._loaded_options = None
29
+ _globals['_MERGEANALYSISREQUEST'].fields_by_name['repository']._loaded_options = None
30
+ _globals['_MERGEANALYSISREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
31
+ _globals['_INVALIDATEMERGEANALYSISREQUEST'].fields_by_name['repository']._loaded_options = None
32
+ _globals['_INVALIDATEMERGEANALYSISREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
33
+ _globals['_PUBLISHCHANGESETREQUEST'].fields_by_name['repository']._loaded_options = None
34
+ _globals['_PUBLISHCHANGESETREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
35
+ _globals['_MERGEBRANCHREQUEST'].fields_by_name['repository']._loaded_options = None
36
+ _globals['_MERGEBRANCHREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
37
+ _globals['_CENSORREQUEST'].fields_by_name['repository']._loaded_options = None
38
+ _globals['_CENSORREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
39
+ _globals['_GETWORKINGDIRECTORYREQUEST'].fields_by_name['repository']._loaded_options = None
40
+ _globals['_GETWORKINGDIRECTORYREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
41
+ _globals['_RELEASEWORKINGDIRECTORYREQUEST'].fields_by_name['repository']._loaded_options = None
42
+ _globals['_RELEASEWORKINGDIRECTORYREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
43
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['MergeAnalysis']._loaded_options = None
44
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['MergeAnalysis']._serialized_options = b'\372\227(\002\010\002'
45
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['InvalidateMergeAnalysis']._loaded_options = None
46
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['InvalidateMergeAnalysis']._serialized_options = b'\372\227(\002\010\002'
47
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['PublishChangeset']._loaded_options = None
48
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['PublishChangeset']._serialized_options = b'\372\227(\002\010\001'
49
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['Censor']._loaded_options = None
50
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['Censor']._serialized_options = b'\372\227(\002\010\001'
51
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['MergeBranch']._loaded_options = None
52
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['MergeBranch']._serialized_options = b'\372\227(\002\010\001'
53
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['GetWorkingDirectory']._loaded_options = None
54
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['GetWorkingDirectory']._serialized_options = b'\372\227(\002\010\001'
55
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['ReleaseWorkingDirectory']._loaded_options = None
56
+ _globals['_MERCURIALOPERATIONSSERVICE'].methods_by_name['ReleaseWorkingDirectory']._serialized_options = b'\372\227(\002\010\001'
57
+ _globals['_MERCURIALPERMISSIONS']._serialized_start=2202
58
+ _globals['_MERCURIALPERMISSIONS']._serialized_end=2258
59
+ _globals['_PRECHECKUPDATEERROR']._serialized_start=2260
60
+ _globals['_PRECHECKUPDATEERROR']._serialized_end=2367
61
+ _globals['_MERGEANALYSISREQUEST']._serialized_start=131
62
+ _globals['_MERGEANALYSISREQUEST']._serialized_end=279
63
+ _globals['_MERGEANALYSISRESPONSE']._serialized_start=282
64
+ _globals['_MERGEANALYSISRESPONSE']._serialized_end=583
65
+ _globals['_INVALIDATEMERGEANALYSISREQUEST']._serialized_start=585
66
+ _globals['_INVALIDATEMERGEANALYSISREQUEST']._serialized_end=663
67
+ _globals['_INVALIDATEMERGEANALYSISRESPONSE']._serialized_start=665
68
+ _globals['_INVALIDATEMERGEANALYSISRESPONSE']._serialized_end=725
69
+ _globals['_PUBLISHCHANGESETREQUEST']._serialized_start=728
70
+ _globals['_PUBLISHCHANGESETREQUEST']._serialized_end=901
71
+ _globals['_PUBLISHCHANGESETRESPONSE']._serialized_start=903
72
+ _globals['_PUBLISHCHANGESETRESPONSE']._serialized_end=929
73
+ _globals['_PUBLISHCHANGESETERROR']._serialized_start=931
74
+ _globals['_PUBLISHCHANGESETERROR']._serialized_end=1011
75
+ _globals['_MERGEBRANCHREQUEST']._serialized_start=1014
76
+ _globals['_MERGEBRANCHREQUEST']._serialized_end=1303
77
+ _globals['_MERGEBRANCHRESPONSE']._serialized_start=1305
78
+ _globals['_MERGEBRANCHRESPONSE']._serialized_end=1380
79
+ _globals['_MERGEBRANCHERROR']._serialized_start=1383
80
+ _globals['_MERGEBRANCHERROR']._serialized_end=1614
81
+ _globals['_CENSORREQUEST']._serialized_start=1617
82
+ _globals['_CENSORREQUEST']._serialized_end=1771
83
+ _globals['_CENSORRESPONSE']._serialized_start=1773
84
+ _globals['_CENSORRESPONSE']._serialized_end=1789
85
+ _globals['_GETWORKINGDIRECTORYREQUEST']._serialized_start=1792
86
+ _globals['_GETWORKINGDIRECTORYREQUEST']._serialized_end=1927
87
+ _globals['_GETWORKINGDIRECTORYRESPONSE']._serialized_start=1929
88
+ _globals['_GETWORKINGDIRECTORYRESPONSE']._serialized_end=2011
89
+ _globals['_RELEASEWORKINGDIRECTORYREQUEST']._serialized_start=2014
90
+ _globals['_RELEASEWORKINGDIRECTORYREQUEST']._serialized_end=2165
91
+ _globals['_RELEASEWORKINGDIRECTORYRESPONSE']._serialized_start=2167
92
+ _globals['_RELEASEWORKINGDIRECTORYRESPONSE']._serialized_end=2200
93
+ _globals['_MERCURIALOPERATIONSSERVICE']._serialized_start=2370
94
+ _globals['_MERCURIALOPERATIONSSERVICE']._serialized_end=3074
95
+ # @@protoc_insertion_point(module_scope)
@@ -44,6 +44,11 @@ class MercurialOperationsServiceStub(object):
44
44
  request_serializer=mercurial__operations__pb2.MergeAnalysisRequest.SerializeToString,
45
45
  response_deserializer=mercurial__operations__pb2.MergeAnalysisResponse.FromString,
46
46
  _registered_method=True)
47
+ self.InvalidateMergeAnalysis = channel.unary_unary(
48
+ '/hgitaly.MercurialOperationsService/InvalidateMergeAnalysis',
49
+ request_serializer=mercurial__operations__pb2.InvalidateMergeAnalysisRequest.SerializeToString,
50
+ response_deserializer=mercurial__operations__pb2.InvalidateMergeAnalysisResponse.FromString,
51
+ _registered_method=True)
47
52
  self.PublishChangeset = channel.unary_unary(
48
53
  '/hgitaly.MercurialOperationsService/PublishChangeset',
49
54
  request_serializer=mercurial__operations__pb2.PublishChangesetRequest.SerializeToString,
@@ -83,6 +88,15 @@ class MercurialOperationsServiceServicer(object):
83
88
  context.set_details('Method not implemented!')
84
89
  raise NotImplementedError('Method not implemented!')
85
90
 
91
+ def InvalidateMergeAnalysis(self, request, context):
92
+ """Invalidate cache for MergeAnalysis
93
+
94
+ Will be used in mergeability checks and last-minute checks if needed.
95
+ """
96
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
97
+ context.set_details('Method not implemented!')
98
+ raise NotImplementedError('Method not implemented!')
99
+
86
100
  def PublishChangeset(self, request, context):
87
101
  """Publish a changeset
88
102
 
@@ -140,6 +154,11 @@ def add_MercurialOperationsServiceServicer_to_server(servicer, server):
140
154
  request_deserializer=mercurial__operations__pb2.MergeAnalysisRequest.FromString,
141
155
  response_serializer=mercurial__operations__pb2.MergeAnalysisResponse.SerializeToString,
142
156
  ),
157
+ 'InvalidateMergeAnalysis': grpc.unary_unary_rpc_method_handler(
158
+ servicer.InvalidateMergeAnalysis,
159
+ request_deserializer=mercurial__operations__pb2.InvalidateMergeAnalysisRequest.FromString,
160
+ response_serializer=mercurial__operations__pb2.InvalidateMergeAnalysisResponse.SerializeToString,
161
+ ),
143
162
  'PublishChangeset': grpc.unary_unary_rpc_method_handler(
144
163
  servicer.PublishChangeset,
145
164
  request_deserializer=mercurial__operations__pb2.PublishChangesetRequest.FromString,
@@ -202,6 +221,33 @@ class MercurialOperationsService(object):
202
221
  metadata,
203
222
  _registered_method=True)
204
223
 
224
+ @staticmethod
225
+ def InvalidateMergeAnalysis(request,
226
+ target,
227
+ options=(),
228
+ channel_credentials=None,
229
+ call_credentials=None,
230
+ insecure=False,
231
+ compression=None,
232
+ wait_for_ready=None,
233
+ timeout=None,
234
+ metadata=None):
235
+ return grpc.experimental.unary_unary(
236
+ request,
237
+ target,
238
+ '/hgitaly.MercurialOperationsService/InvalidateMergeAnalysis',
239
+ mercurial__operations__pb2.InvalidateMergeAnalysisRequest.SerializeToString,
240
+ mercurial__operations__pb2.InvalidateMergeAnalysisResponse.FromString,
241
+ options,
242
+ channel_credentials,
243
+ insecure,
244
+ call_credentials,
245
+ compression,
246
+ wait_for_ready,
247
+ timeout,
248
+ metadata,
249
+ _registered_method=True)
250
+
205
251
  @staticmethod
206
252
  def PublishChangeset(request,
207
253
  target,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hgitaly
3
- Version: 17.11.0
3
+ Version: 17.11.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
@@ -1,24 +1,8 @@
1
- .coveragerc
2
- .gitlab-ci.yml
3
- .hgignore
4
- .hgtags
5
1
  LICENSE
6
2
  MANIFEST.in
7
3
  README.md
8
- conftest.py
9
- dev-requirements.txt
10
- generate-stubs
11
4
  install-requirements.txt
12
- lint
13
- run-all-tests
14
5
  setup.py
15
- test-requirements.txt
16
- ci/heptapod-sftp-push
17
- ci/heptapod-sign-package
18
- ci/heptapod_known_hosts.ssh
19
- ci/upload-rhgitaly
20
- examples/client.py
21
- examples/client_list_lcft.py
22
6
  hgext3rd/__init__.py
23
7
  hgext3rd/hgitaly/__init__.py
24
8
  hgext3rd/hgitaly/revset.py
@@ -61,7 +45,6 @@ hgitaly.egg-info/dependency_links.txt
61
45
  hgitaly.egg-info/entry_points.txt
62
46
  hgitaly.egg-info/requires.txt
63
47
  hgitaly.egg-info/top_level.txt
64
- hgitaly/license_detector/GPL-2.sample
65
48
  hgitaly/license_detector/__init__.py
66
49
  hgitaly/license_detector/spdx-licenses.json
67
50
  hgitaly/linguist/__init__.py
@@ -144,15 +127,6 @@ hgitaly/testing/multiprocessing.py
144
127
  hgitaly/testing/ssh.py
145
128
  hgitaly/testing/sshd.py
146
129
  hgitaly/testing/storage.py
147
- hgitaly/testing/data/authorized_keys
148
- hgitaly/testing/data/backup_additional_no_git.tar
149
- hgitaly/testing/data/id_ecdsa_user
150
- hgitaly/testing/data/known_hosts
151
- hgitaly/testing/data/ssh_host_ecdsa_key
152
- hgitaly/testing/data/ssh_host_ecdsa_key.pub
153
- hgitaly/testing/data/ssh_host_ed25519
154
- hgitaly/testing/data/ssh_host_ed25519.pub
155
- hgitaly/testing/data/sshd_config
156
130
  hgitaly/testing/tests/__init__.py
157
131
  hgitaly/testing/tests/test_sshd.py
158
132
  hgitaly/tests/__init__.py
@@ -177,112 +151,6 @@ hgitaly/tests/test_servicer.py
177
151
  hgitaly/tests/test_stream.py
178
152
  hgitaly/tests/test_tag.py
179
153
  hgitaly/tests/test_workdir.py
180
- protos/analysis.proto
181
- protos/blob.proto
182
- protos/cleanup.proto
183
- protos/cluster.proto
184
- protos/commit.proto
185
- protos/conflicts.proto
186
- protos/diff.proto
187
- protos/errors.proto
188
- protos/hook.proto
189
- protos/internal.proto
190
- protos/lint.proto
191
- protos/log.proto
192
- protos/mercurial-changeset.proto
193
- protos/mercurial-operations.proto
194
- protos/mercurial-repository.proto
195
- protos/namespace.proto
196
- protos/objectpool.proto
197
- protos/operations.proto
198
- protos/packfile.proto
199
- protos/partition.proto
200
- protos/praefect.proto
201
- protos/ref.proto
202
- protos/remote.proto
203
- protos/repository.proto
204
- protos/server.proto
205
- protos/service_config.proto
206
- protos/shared.proto
207
- protos/smarthttp.proto
208
- protos/ssh.proto
209
- protos/transaction.proto
210
- protos/wiki.proto
211
- ruby/.ruby-version
212
- ruby/Gemfile
213
- ruby/README.md
214
- ruby/generate-grpc-lib
215
- ruby/hgitaly.gemspec
216
- ruby/run.rb
217
- ruby/lib/hgitaly.rb
218
- ruby/lib/hgitaly/mercurial-changeset_pb.rb
219
- ruby/lib/hgitaly/mercurial-changeset_services_pb.rb
220
- ruby/lib/hgitaly/mercurial-operations_pb.rb
221
- ruby/lib/hgitaly/mercurial-operations_services_pb.rb
222
- ruby/lib/hgitaly/mercurial-repository_pb.rb
223
- ruby/lib/hgitaly/mercurial-repository_services_pb.rb
224
- ruby/lib/hgitaly/version.rb
225
- rust/Cargo.lock
226
- rust/Cargo.toml
227
- rust/Makefile
228
- rust/build-from-tarball.sh
229
- rust/check-line-width
230
- rust/go-enry.rev
231
- rust/lint
232
- rust/mercurial.rev
233
- rust/rs-enry.rev
234
- rust/src-tarball.sh
235
- rust/dependencies/README.md
236
- rust/dependencies/mercurial.patch
237
- rust/dependencies/proto/google/protobuf/any.proto
238
- rust/dependencies/proto/google/protobuf/api.proto
239
- rust/dependencies/proto/google/protobuf/descriptor.proto
240
- rust/dependencies/proto/google/protobuf/duration.proto
241
- rust/dependencies/proto/google/protobuf/empty.proto
242
- rust/dependencies/proto/google/protobuf/field_mask.proto
243
- rust/dependencies/proto/google/protobuf/source_context.proto
244
- rust/dependencies/proto/google/protobuf/struct.proto
245
- rust/dependencies/proto/google/protobuf/timestamp.proto
246
- rust/dependencies/proto/google/protobuf/type.proto
247
- rust/dependencies/proto/google/protobuf/wrappers.proto
248
- rust/dependencies/proto/google/protobuf/compiler/plugin.proto
249
- rust/rhgitaly/Cargo.toml
250
- rust/rhgitaly/build.rs
251
- rust/rhgitaly/clippy.toml
252
- rust/rhgitaly/src/config.rs
253
- rust/rhgitaly/src/errors.rs
254
- rust/rhgitaly/src/git.rs
255
- rust/rhgitaly/src/glob.rs
256
- rust/rhgitaly/src/lib.rs
257
- rust/rhgitaly/src/main.rs
258
- rust/rhgitaly/src/mercurial.rs
259
- rust/rhgitaly/src/message.rs
260
- rust/rhgitaly/src/metadata.rs
261
- rust/rhgitaly/src/oid.rs
262
- rust/rhgitaly/src/process.rs
263
- rust/rhgitaly/src/sidecar.rs
264
- rust/rhgitaly/src/ssh.rs
265
- rust/rhgitaly/src/streaming.rs
266
- rust/rhgitaly/src/util.rs
267
- rust/rhgitaly/src/generated/README.md
268
- rust/rhgitaly/src/gitlab/mod.rs
269
- rust/rhgitaly/src/gitlab/reference.rs
270
- rust/rhgitaly/src/gitlab/revision.rs
271
- rust/rhgitaly/src/gitlab/state.rs
272
- rust/rhgitaly/src/repository/spawner.rs
273
- rust/rhgitaly/src/service/analysis.rs
274
- rust/rhgitaly/src/service/blob.rs
275
- rust/rhgitaly/src/service/diff.rs
276
- rust/rhgitaly/src/service/mercurial_repository.rs
277
- rust/rhgitaly/src/service/mod.rs
278
- rust/rhgitaly/src/service/ref.rs
279
- rust/rhgitaly/src/service/remote.rs
280
- rust/rhgitaly/src/service/repository.rs
281
- rust/rhgitaly/src/service/server.rs
282
- rust/rhgitaly/src/service/commit/find_commits.rs
283
- rust/rhgitaly/src/service/commit/get_tree_entries.rs
284
- rust/rhgitaly/src/service/commit/last_commits.rs
285
- rust/rhgitaly/src/service/commit/tree_entry.rs
286
154
  tests_with_gitaly/__init__.py
287
155
  tests_with_gitaly/comparison.py
288
156
  tests_with_gitaly/conftest.py
@@ -295,6 +163,7 @@ tests_with_gitaly/test_comparison.py
295
163
  tests_with_gitaly/test_diff.py
296
164
  tests_with_gitaly/test_gitaly_server.py
297
165
  tests_with_gitaly/test_mercurial_aux_git.py
166
+ tests_with_gitaly/test_mercurial_operations.py
298
167
  tests_with_gitaly/test_mercurial_repository.py
299
168
  tests_with_gitaly/test_operations.py
300
169
  tests_with_gitaly/test_ref.py
@@ -0,0 +1,68 @@
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 pytest
8
+
9
+ from hgitaly.stub.mercurial_operations_pb2 import (
10
+ MergeAnalysisRequest,
11
+ InvalidateMergeAnalysisRequest,
12
+ )
13
+ from hgitaly.stub.mercurial_operations_pb2_grpc import (
14
+ MercurialOperationsServiceStub,
15
+ )
16
+
17
+ from . import skip_comparison_tests
18
+
19
+ if skip_comparison_tests(): # pragma no cover
20
+ pytestmark = pytest.mark.skip
21
+
22
+
23
+ def test_compare_merge_analysis(hgitaly_rhgitaly_comparison):
24
+ fixture = hgitaly_rhgitaly_comparison
25
+ repo_wrapper = fixture.hg_repo_wrapper
26
+ commit_file = repo_wrapper.commit_file
27
+ default_ctx = commit_file('foo')
28
+ top_cs = commit_file('foo', parent=default_ctx, topic='zetop')
29
+
30
+ rpc_helper = fixture.rpc_helper(
31
+ stub_cls=MercurialOperationsServiceStub,
32
+ method_name='MergeAnalysis',
33
+ request_cls=MergeAnalysisRequest,
34
+ )
35
+ assert_compare = rpc_helper.assert_compare
36
+ target_rev = b'branch/default'
37
+ assert_compare(source_revision=b'topic/default/zetop',
38
+ target_revision=target_rev)
39
+ # second time to exert the cache
40
+ assert_compare(source_revision=b'topic/default/zetop',
41
+ target_revision=target_rev)
42
+
43
+ obs_hex = top_cs.hex()
44
+ repo_wrapper.amend_file('foo')
45
+
46
+ # without invalidation, we have a problem:
47
+ obs_args = dict(source_revision=obs_hex, target_revision=target_rev)
48
+ resp = rpc_helper.rpc('rhgitaly', **obs_args)
49
+ assert not resp.has_obsolete_changesets # oops
50
+ resp = rpc_helper.rpc('hgitaly', **obs_args)
51
+ assert resp.has_obsolete_changesets # as expected
52
+
53
+ # invalidation (RHGitaly only)
54
+ resp = rpc_helper.stubs['rhgitaly'].InvalidateMergeAnalysis(
55
+ InvalidateMergeAnalysisRequest(
56
+ repository=fixture.hgitaly_repo)
57
+ )
58
+ assert resp.invalidated_count == 1
59
+
60
+ # third time that works thanks to cache invalidation.
61
+ assert_compare(**obs_args)
62
+
63
+ # resolution errors (uncached)
64
+ assert_errors = rpc_helper.assert_compare_errors
65
+ assert_errors(source_revision=b'topic/default/unknown',
66
+ target_revision=b'branch/default')
67
+ assert_errors(source_revision=b'topic/default/zetop',
68
+ target_revision=b'branch/unknown')
@@ -1,5 +0,0 @@
1
- [run]
2
- omit=
3
- hgitaly/stub/*
4
- hgitaly/tests/*
5
- plugins = coverage_mercurial