hgitaly 18.4.1__tar.gz → 18.4.3__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 (171) hide show
  1. {hgitaly-18.4.1/hgitaly.egg-info → hgitaly-18.4.3}/PKG-INFO +1 -1
  2. hgitaly-18.4.3/hgitaly/VERSION +1 -0
  3. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/scripts.py +5 -1
  4. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/commit.py +2 -2
  5. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_commit.py +3 -2
  6. {hgitaly-18.4.1 → hgitaly-18.4.3/hgitaly.egg-info}/PKG-INFO +1 -1
  7. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_commit.py +11 -0
  8. hgitaly-18.4.1/hgitaly/VERSION +0 -1
  9. {hgitaly-18.4.1 → hgitaly-18.4.3}/LICENSE +0 -0
  10. {hgitaly-18.4.1 → hgitaly-18.4.3}/MANIFEST.in +0 -0
  11. {hgitaly-18.4.1 → hgitaly-18.4.3}/README.md +0 -0
  12. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgext3rd/__init__.py +0 -0
  13. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgext3rd/hgitaly/__init__.py +0 -0
  14. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgext3rd/hgitaly/revset.py +0 -0
  15. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgext3rd/hgitaly/tests/__init__.py +0 -0
  16. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgext3rd/hgitaly/tests/test_revset.py +0 -0
  17. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgext3rd/hgitaly/tests/test_serve.py +0 -0
  18. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/__init__.py +0 -0
  19. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/branch.py +0 -0
  20. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/changelog.py +0 -0
  21. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/diff.py +0 -0
  22. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/errors.py +0 -0
  23. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/feature.py +0 -0
  24. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/file_content.py +0 -0
  25. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/file_context.py +0 -0
  26. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/git.py +0 -0
  27. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/gitlab_ref.py +0 -0
  28. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/identification.py +0 -0
  29. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/logging.py +0 -0
  30. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/manifest.py +0 -0
  31. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/message.py +0 -0
  32. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/oid.py +0 -0
  33. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/pagination.py +0 -0
  34. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/path.py +0 -0
  35. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/peer.py +0 -0
  36. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/procutil.py +0 -0
  37. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/repository.py +0 -0
  38. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/revision.py +0 -0
  39. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/revset.py +0 -0
  40. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/server/__init__.py +0 -0
  41. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/server/address.py +0 -0
  42. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/server/mono.py +0 -0
  43. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/server/prefork.py +0 -0
  44. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/server/tests/__init__.py +0 -0
  45. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/server/tests/test_address.py +0 -0
  46. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/server/tests/test_mono.py +0 -0
  47. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/server/tests/test_prefork.py +0 -0
  48. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/server/tests/test_worker.py +0 -0
  49. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/server/worker.py +0 -0
  50. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/__init__.py +0 -0
  51. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/analysis.py +0 -0
  52. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/blob.py +0 -0
  53. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/diff.py +0 -0
  54. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/interceptors.py +0 -0
  55. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/mercurial_changeset.py +0 -0
  56. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/mercurial_operations.py +0 -0
  57. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/mercurial_repository.py +0 -0
  58. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/operations.py +0 -0
  59. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/ref.py +0 -0
  60. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/repository.py +0 -0
  61. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/server.py +0 -0
  62. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/__init__.py +0 -0
  63. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/fixture.py +0 -0
  64. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_analysis.py +0 -0
  65. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_blob.py +0 -0
  66. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_default_branch.py +0 -0
  67. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_diff.py +0 -0
  68. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_mercurial_changeset.py +0 -0
  69. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_mercurial_operations.py +0 -0
  70. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_mercurial_repository.py +0 -0
  71. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_operations.py +0 -0
  72. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_ref.py +0 -0
  73. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_repository_service.py +0 -0
  74. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/service/tests/test_server.py +0 -0
  75. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/servicer.py +0 -0
  76. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/ssh.py +0 -0
  77. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stream.py +0 -0
  78. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/__init__.py +0 -0
  79. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/analysis_pb2.py +0 -0
  80. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/analysis_pb2_grpc.py +0 -0
  81. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/blob_pb2.py +0 -0
  82. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/blob_pb2_grpc.py +0 -0
  83. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/commit_pb2.py +0 -0
  84. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/commit_pb2_grpc.py +0 -0
  85. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/diff_pb2.py +0 -0
  86. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/diff_pb2_grpc.py +0 -0
  87. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/errors_pb2.py +0 -0
  88. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/errors_pb2_grpc.py +0 -0
  89. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/lint_pb2.py +0 -0
  90. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/lint_pb2_grpc.py +0 -0
  91. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/mercurial_aux_git_pb2.py +0 -0
  92. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/mercurial_aux_git_pb2_grpc.py +0 -0
  93. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/mercurial_changeset_pb2.py +0 -0
  94. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/mercurial_changeset_pb2_grpc.py +0 -0
  95. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/mercurial_operations_pb2.py +0 -0
  96. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/mercurial_operations_pb2_grpc.py +0 -0
  97. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/mercurial_repository_pb2.py +0 -0
  98. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/mercurial_repository_pb2_grpc.py +0 -0
  99. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/operations_pb2.py +0 -0
  100. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/operations_pb2_grpc.py +0 -0
  101. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/ref_pb2.py +0 -0
  102. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/ref_pb2_grpc.py +0 -0
  103. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/remote_pb2.py +0 -0
  104. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/remote_pb2_grpc.py +0 -0
  105. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/repository_pb2.py +0 -0
  106. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/repository_pb2_grpc.py +0 -0
  107. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/server_pb2.py +0 -0
  108. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/server_pb2_grpc.py +0 -0
  109. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/shared_pb2.py +0 -0
  110. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/stub/shared_pb2_grpc.py +0 -0
  111. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tag.py +0 -0
  112. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/testing/__init__.py +0 -0
  113. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/testing/bundle.py +0 -0
  114. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/testing/context.py +0 -0
  115. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/testing/grpc.py +0 -0
  116. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/testing/multiprocessing.py +0 -0
  117. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/testing/repo.py +0 -0
  118. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/testing/ssh.py +0 -0
  119. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/testing/sshd.py +0 -0
  120. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/testing/storage.py +0 -0
  121. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/testing/tests/__init__.py +0 -0
  122. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/testing/tests/test_sshd.py +0 -0
  123. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/__init__.py +0 -0
  124. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/common.py +0 -0
  125. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_branch.py +0 -0
  126. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_diff.py +0 -0
  127. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_errors.py +0 -0
  128. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_feature.py +0 -0
  129. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_file_context.py +0 -0
  130. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_gitlab_ref.py +0 -0
  131. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_identification.py +0 -0
  132. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_manifest.py +0 -0
  133. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_messages.py +0 -0
  134. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_oid.py +0 -0
  135. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_peer.py +0 -0
  136. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_repository.py +0 -0
  137. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_revision.py +0 -0
  138. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_revset.py +0 -0
  139. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_servicer.py +0 -0
  140. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_stream.py +0 -0
  141. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_tag.py +0 -0
  142. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/tests/test_workdir.py +0 -0
  143. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/util.py +0 -0
  144. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly/workdir.py +0 -0
  145. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly.egg-info/SOURCES.txt +0 -0
  146. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly.egg-info/dependency_links.txt +0 -0
  147. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly.egg-info/entry_points.txt +0 -0
  148. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly.egg-info/requires.txt +0 -0
  149. {hgitaly-18.4.1 → hgitaly-18.4.3}/hgitaly.egg-info/top_level.txt +0 -0
  150. {hgitaly-18.4.1 → hgitaly-18.4.3}/install-requirements.txt +0 -0
  151. {hgitaly-18.4.1 → hgitaly-18.4.3}/setup.cfg +0 -0
  152. {hgitaly-18.4.1 → hgitaly-18.4.3}/setup.py +0 -0
  153. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/__init__.py +0 -0
  154. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/comparison.py +0 -0
  155. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/conftest.py +0 -0
  156. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/gitaly.py +0 -0
  157. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/hgitaly_rhgitaly_comparison.py +0 -0
  158. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/rhgitaly.py +0 -0
  159. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_blob_tree.py +0 -0
  160. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_comparison.py +0 -0
  161. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_diff.py +0 -0
  162. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_gitaly_server.py +0 -0
  163. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_mercurial_aux_git.py +0 -0
  164. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_mercurial_operations.py +0 -0
  165. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_mercurial_repository.py +0 -0
  166. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_operations.py +0 -0
  167. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_ref.py +0 -0
  168. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_remote.py +0 -0
  169. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_repository_service.py +0 -0
  170. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_rhgitaly_server.py +0 -0
  171. {hgitaly-18.4.1 → hgitaly-18.4.3}/tests_with_gitaly/test_server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hgitaly
3
- Version: 18.4.1
3
+ Version: 18.4.3
4
4
  Summary: Server-side implementation of Gitaly protocol for Mercurial
5
5
  Home-page: https://foss.heptapod.net/heptapod/hgitaly
6
6
  Author: Georges Racinet
@@ -0,0 +1 @@
1
+ 18.4.3
@@ -197,6 +197,7 @@ def stats(): # pragma no cover
197
197
  incomplete = total_requests - sum(len(succ) for succ in succeeded.values())
198
198
 
199
199
  stats = []
200
+ all_total_ms = 0
200
201
  for req, count in called.items():
201
202
  percent = round(count * 100 / total_requests)
202
203
  succ = succeeded[req]
@@ -208,10 +209,12 @@ def stats(): # pragma no cover
208
209
  )
209
210
  stats.append((req, req_stats))
210
211
  if nb_succ > 0:
212
+ req_total = sum(s for s in succ)
213
+ all_total_ms += req_total
211
214
  timing = req_stats['completion_stats_ms'] = dict(
212
215
  mean=statistics.mean(succ),
213
216
  median=statistics.median(succ),
214
- total=sum(s for s in succ),
217
+ total=req_total,
215
218
  )
216
219
  if nb_succ > 1:
217
220
  timing['standard_deviation'] = statistics.pstdev(succ)
@@ -246,6 +249,7 @@ def stats(): # pragma no cover
246
249
 
247
250
  print(f"TOTAL Requests since {first_timestamp}: {total_requests} \n"
248
251
  f" {incomplete} incomplete (cancelled or failed)")
252
+ print("Total wall time: %d seconds" % int(all_total_ms / 1000))
249
253
  print("Breakdown:")
250
254
  for req, details in stats.items():
251
255
  percent = '%4.1f' % details['percent']
@@ -148,7 +148,7 @@ class CommitServicer(CommitServiceServicer, HGitalyServicer):
148
148
  try:
149
149
  ancestor = repo[request.ancestor_id.encode()]
150
150
  child = repo[request.child_id.encode()]
151
- except error.RepoLookupError as exc:
151
+ except (error.RepoLookupError, error.ProgrammingError) as exc:
152
152
  # Gitaly just returns False. This is probably an inconsistency
153
153
  # in the client, so let's log it to help.
154
154
  logger.warning(
@@ -925,7 +925,7 @@ class CommitServicer(CommitServiceServicer, HGitalyServicer):
925
925
  sort_key = b'-topo' if reverse else b'topo'
926
926
  elif request.order == Order.DATE:
927
927
  # See docstring about this approximative choice
928
- sort_key = b'-date' if reverse else b'date'
928
+ sort_key = b'date' if reverse else b'-date'
929
929
 
930
930
  revset = b'sort(%s, %s)' % (revset, sort_key)
931
931
 
@@ -1362,8 +1362,9 @@ def test_list_commits(commit_fixture_empty_repo):
1362
1362
  # orderings
1363
1363
  Order = ListCommitsRequest.Order
1364
1364
  assert list_commits(sha4, order=Order.TOPO) == [sha4, sha3, sha2, sha0]
1365
- # having no explicit date, ctx0 looks to be the most recent one.
1366
- assert list_commits(sha4, order=Order.DATE) == [sha2, sha3, sha4, sha0]
1365
+ # being the only one with no explicit date, ctx0 looks to be
1366
+ # the most recent one.
1367
+ assert list_commits(sha4, order=Order.DATE) == [sha0, sha4, sha3, sha2]
1367
1368
 
1368
1369
  # no result
1369
1370
  assert list_commits(sha4, caret(ctx4)) == []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hgitaly
3
- Version: 18.4.1
3
+ Version: 18.4.3
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
@@ -347,12 +347,23 @@ def test_compare_commit_is_ancestor(gitaly_rhgitaly_comparison, hg_server):
347
347
  request_cls=CommitIsAncestorRequest,
348
348
  request_sha_attrs=['ancestor_id', 'child_id'],
349
349
  )
350
+ rpc_helper.feature_flags = [('rhgitaly-commit-is-ancestor', True)]
350
351
  for ancestor, child in (('base', 'other'),
351
352
  ('other', 'top1'),
352
353
  ('top1', 'top2')):
353
354
  rpc_helper.assert_compare(ancestor_id=chgs[ancestor].hex().decode(),
354
355
  child_id=chgs[child].hex().decode())
355
356
 
357
+ # unknown case
358
+ unknown_sha = 'de43ad12' * 5
359
+ rpc_helper.assert_compare(ancestor_id=unknown_sha,
360
+ child_id=base.hex().decode())
361
+ rpc_helper.assert_compare(ancestor_id=base.hex().decode(),
362
+ child_id=unknown_sha)
363
+ # same with an id too short, the method only wants full SHAs
364
+ rpc_helper.assert_compare(ancestor_id=base.hex().decode(),
365
+ child_id=chgs['other'].hex()[:10].decode())
366
+
356
367
 
357
368
  def test_compare_list_files(gitaly_comparison):
358
369
  fixture = gitaly_comparison
@@ -1 +0,0 @@
1
- 18.4.1
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes