hgitaly 18.3.2__tar.gz → 18.4.0a0__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.
- hgitaly-18.4.0a0/.coveragerc +5 -0
- hgitaly-18.4.0a0/.gitlab-ci.yml +154 -0
- hgitaly-18.4.0a0/.hgignore +36 -0
- hgitaly-18.4.0a0/.hgtags +168 -0
- {hgitaly-18.3.2/hgitaly.egg-info → hgitaly-18.4.0a0}/PKG-INFO +1 -1
- hgitaly-18.4.0a0/ci/heptapod-sftp-push +31 -0
- hgitaly-18.4.0a0/ci/heptapod-sign-package +34 -0
- hgitaly-18.4.0a0/ci/heptapod_known_hosts.ssh +4 -0
- hgitaly-18.4.0a0/ci/upload-rhgitaly +43 -0
- hgitaly-18.4.0a0/conftest.py +100 -0
- hgitaly-18.4.0a0/dev-requirements.txt +2 -0
- hgitaly-18.4.0a0/examples/client.py +48 -0
- hgitaly-18.4.0a0/examples/client_list_lcft.py +55 -0
- hgitaly-18.4.0a0/generate-stubs +34 -0
- hgitaly-18.4.0a0/hgitaly/VERSION +1 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/commit_pb2.py +52 -52
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/commit_pb2_grpc.py +1 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/diff_pb2.py +1 -1
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/errors_pb2.py +13 -13
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/operations_pb2.py +13 -9
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/remote_pb2.py +1 -1
- hgitaly-18.4.0a0/hgitaly/testing/data/authorized_keys +1 -0
- hgitaly-18.4.0a0/hgitaly/testing/data/backup_additional_no_git.tar +0 -0
- hgitaly-18.4.0a0/hgitaly/testing/data/id_ecdsa_user +38 -0
- hgitaly-18.4.0a0/hgitaly/testing/data/known_hosts +2 -0
- hgitaly-18.4.0a0/hgitaly/testing/data/ssh_host_ecdsa_key +9 -0
- hgitaly-18.4.0a0/hgitaly/testing/data/ssh_host_ecdsa_key.pub +1 -0
- hgitaly-18.4.0a0/hgitaly/testing/data/ssh_host_ed25519 +8 -0
- hgitaly-18.4.0a0/hgitaly/testing/data/ssh_host_ed25519.pub +1 -0
- hgitaly-18.4.0a0/hgitaly/testing/data/sshd_config +17 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0/hgitaly.egg-info}/PKG-INFO +1 -1
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly.egg-info/SOURCES.txt +138 -0
- hgitaly-18.4.0a0/lint +7 -0
- hgitaly-18.4.0a0/protos/analysis.proto +62 -0
- hgitaly-18.4.0a0/protos/blob.proto +299 -0
- hgitaly-18.4.0a0/protos/cleanup.proto +88 -0
- hgitaly-18.4.0a0/protos/cluster.proto +134 -0
- hgitaly-18.4.0a0/protos/commit.proto +996 -0
- hgitaly-18.4.0a0/protos/conflicts.proto +137 -0
- hgitaly-18.4.0a0/protos/diff.proto +644 -0
- hgitaly-18.4.0a0/protos/errors.proto +234 -0
- hgitaly-18.4.0a0/protos/hook.proto +205 -0
- hgitaly-18.4.0a0/protos/internal.proto +37 -0
- hgitaly-18.4.0a0/protos/lint.proto +75 -0
- hgitaly-18.4.0a0/protos/log.proto +137 -0
- hgitaly-18.4.0a0/protos/mercurial-aux-git.proto +32 -0
- hgitaly-18.4.0a0/protos/mercurial-changeset.proto +96 -0
- hgitaly-18.4.0a0/protos/mercurial-operations.proto +230 -0
- hgitaly-18.4.0a0/protos/mercurial-repository.proto +364 -0
- hgitaly-18.4.0a0/protos/namespace.proto +98 -0
- hgitaly-18.4.0a0/protos/objectpool.proto +173 -0
- hgitaly-18.4.0a0/protos/operations.proto +1161 -0
- hgitaly-18.4.0a0/protos/packfile.proto +26 -0
- hgitaly-18.4.0a0/protos/partition.proto +70 -0
- hgitaly-18.4.0a0/protos/praefect.proto +222 -0
- hgitaly-18.4.0a0/protos/ref.proto +600 -0
- hgitaly-18.4.0a0/protos/remote.proto +153 -0
- hgitaly-18.4.0a0/protos/repository.proto +1458 -0
- hgitaly-18.4.0a0/protos/server.proto +123 -0
- hgitaly-18.4.0a0/protos/service_config.proto +86 -0
- hgitaly-18.4.0a0/protos/shared.proto +248 -0
- hgitaly-18.4.0a0/protos/smarthttp.proto +121 -0
- hgitaly-18.4.0a0/protos/ssh.proto +109 -0
- hgitaly-18.4.0a0/protos/transaction.proto +104 -0
- hgitaly-18.4.0a0/protos/wiki.proto +211 -0
- hgitaly-18.4.0a0/ruby/.ruby-version +1 -0
- hgitaly-18.4.0a0/ruby/Gemfile +5 -0
- hgitaly-18.4.0a0/ruby/README.md +48 -0
- hgitaly-18.4.0a0/ruby/generate-grpc-lib +63 -0
- hgitaly-18.4.0a0/ruby/hgitaly.gemspec +25 -0
- hgitaly-18.4.0a0/ruby/lib/hgitaly/mercurial-aux-git_pb.rb +14 -0
- hgitaly-18.4.0a0/ruby/lib/hgitaly/mercurial-aux-git_services_pb.rb +29 -0
- hgitaly-18.4.0a0/ruby/lib/hgitaly/mercurial-changeset_pb.rb +69 -0
- hgitaly-18.4.0a0/ruby/lib/hgitaly/mercurial-changeset_services_pb.rb +25 -0
- hgitaly-18.4.0a0/ruby/lib/hgitaly/mercurial-operations_pb.rb +133 -0
- hgitaly-18.4.0a0/ruby/lib/hgitaly/mercurial-operations_services_pb.rb +53 -0
- hgitaly-18.4.0a0/ruby/lib/hgitaly/mercurial-repository_pb.rb +163 -0
- hgitaly-18.4.0a0/ruby/lib/hgitaly/mercurial-repository_services_pb.rb +79 -0
- hgitaly-18.4.0a0/ruby/lib/hgitaly/version.rb +4 -0
- hgitaly-18.4.0a0/ruby/lib/hgitaly.rb +13 -0
- hgitaly-18.4.0a0/ruby/run.rb +39 -0
- hgitaly-18.4.0a0/run-all-tests +24 -0
- hgitaly-18.4.0a0/rust/Cargo.lock +3898 -0
- hgitaly-18.4.0a0/rust/Cargo.toml +4 -0
- hgitaly-18.4.0a0/rust/Makefile +77 -0
- hgitaly-18.4.0a0/rust/build-from-tarball.sh +30 -0
- hgitaly-18.4.0a0/rust/check-line-width +48 -0
- hgitaly-18.4.0a0/rust/dependencies/README.md +19 -0
- hgitaly-18.4.0a0/rust/dependencies/mercurial.patch +51 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/any.proto +158 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/api.proto +208 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/compiler/plugin.proto +183 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/descriptor.proto +911 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/duration.proto +116 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/empty.proto +52 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/field_mask.proto +245 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/source_context.proto +48 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/struct.proto +95 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/timestamp.proto +147 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/type.proto +187 -0
- hgitaly-18.4.0a0/rust/dependencies/proto/google/protobuf/wrappers.proto +123 -0
- hgitaly-18.4.0a0/rust/go-enry.rev +1 -0
- hgitaly-18.4.0a0/rust/lint +14 -0
- hgitaly-18.4.0a0/rust/mercurial.rev +1 -0
- hgitaly-18.4.0a0/rust/rhgitaly/Cargo.toml +56 -0
- hgitaly-18.4.0a0/rust/rhgitaly/build.rs +92 -0
- hgitaly-18.4.0a0/rust/rhgitaly/clippy.toml +6 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/bundle.rs +282 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/config.rs +172 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/errors.rs +141 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/generated/README.md +7 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/git.rs +293 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/gitlab/mod.rs +50 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/gitlab/reference.rs +83 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/gitlab/revision.rs +320 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/gitlab/state.rs +508 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/glob.rs +233 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/lib.rs +45 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/main.rs +147 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/mercurial.rs +1389 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/message.rs +468 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/metadata.rs +61 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/oid.rs +86 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/process.rs +39 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/repository/spawner.rs +576 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/repository.rs +605 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/analysis.rs +183 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/blob.rs +260 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/commit/find_commits.rs +206 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/commit/get_tree_entries.rs +291 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/commit/last_commits.rs +569 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/commit/tree_entry.rs +154 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/commit.rs +654 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/diff.rs +137 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/mercurial_aux_git.rs +180 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/mercurial_repository.rs +496 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/mod.rs +19 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/ref.rs +515 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/remote.rs +793 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/repository.rs +983 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/service/server.rs +60 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/sidecar.rs +234 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/ssh.rs +102 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/streaming.rs +402 -0
- hgitaly-18.4.0a0/rust/rhgitaly/src/util.rs +132 -0
- hgitaly-18.4.0a0/rust/rs-enry.rev +1 -0
- hgitaly-18.4.0a0/rust/src-tarball.sh +70 -0
- hgitaly-18.4.0a0/test-requirements.txt +8 -0
- hgitaly-18.3.2/hgitaly/VERSION +0 -1
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/LICENSE +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/MANIFEST.in +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/README.md +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgext3rd/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgext3rd/hgitaly/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgext3rd/hgitaly/revset.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgext3rd/hgitaly/tests/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgext3rd/hgitaly/tests/test_revset.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgext3rd/hgitaly/tests/test_serve.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/branch.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/changelog.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/diff.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/errors.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/feature.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/file_content.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/file_context.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/git.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/gitlab_ref.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/identification.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/logging.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/manifest.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/message.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/oid.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/pagination.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/path.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/peer.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/procutil.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/repository.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/revision.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/revset.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/scripts.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/server/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/server/address.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/server/mono.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/server/prefork.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/server/tests/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/server/tests/test_address.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/server/tests/test_mono.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/server/tests/test_prefork.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/server/tests/test_worker.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/server/worker.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/analysis.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/blob.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/commit.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/diff.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/interceptors.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/mercurial_changeset.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/mercurial_operations.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/mercurial_repository.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/operations.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/ref.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/repository.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/server.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/fixture.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_analysis.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_blob.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_commit.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_default_branch.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_diff.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_mercurial_changeset.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_mercurial_operations.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_mercurial_repository.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_operations.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_ref.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_repository_service.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/service/tests/test_server.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/servicer.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/ssh.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stream.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/analysis_pb2.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/analysis_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/blob_pb2.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/blob_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/diff_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/errors_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/lint_pb2.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/lint_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/mercurial_aux_git_pb2.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/mercurial_aux_git_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/mercurial_changeset_pb2.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/mercurial_changeset_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/mercurial_operations_pb2.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/mercurial_operations_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/mercurial_repository_pb2.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/mercurial_repository_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/operations_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/ref_pb2.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/ref_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/remote_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/repository_pb2.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/repository_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/server_pb2.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/server_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/shared_pb2.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/stub/shared_pb2_grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tag.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/testing/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/testing/bundle.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/testing/context.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/testing/grpc.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/testing/multiprocessing.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/testing/ssh.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/testing/sshd.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/testing/storage.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/testing/tests/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/testing/tests/test_sshd.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/common.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_branch.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_diff.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_errors.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_feature.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_file_context.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_gitlab_ref.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_identification.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_manifest.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_messages.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_oid.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_peer.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_repository.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_revision.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_revset.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_servicer.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_stream.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_tag.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/tests/test_workdir.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/util.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly/workdir.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly.egg-info/dependency_links.txt +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly.egg-info/entry_points.txt +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly.egg-info/requires.txt +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/hgitaly.egg-info/top_level.txt +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/install-requirements.txt +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/setup.cfg +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/setup.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/__init__.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/comparison.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/conftest.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/gitaly.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/hgitaly_rhgitaly_comparison.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/rhgitaly.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_blob_tree.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_commit.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_comparison.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_diff.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_gitaly_server.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_mercurial_aux_git.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_mercurial_operations.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_mercurial_repository.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_operations.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_ref.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_remote.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_repository_service.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_rhgitaly_server.py +0 -0
- {hgitaly-18.3.2 → hgitaly-18.4.0a0}/tests_with_gitaly/test_server.py +0 -0
|
@@ -0,0 +1,154 @@
|
|
|
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
|
+
PYTHON: /opt/heptapod/bin/python
|
|
16
|
+
PYTEST: /opt/heptapod/bin/pytest
|
|
17
|
+
|
|
18
|
+
workflow:
|
|
19
|
+
rules:
|
|
20
|
+
- if: '$CI_COMMIT_TAG'
|
|
21
|
+
when: always
|
|
22
|
+
# in practice, we're interested in MR events and occasional runs
|
|
23
|
+
# from the web.
|
|
24
|
+
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
25
|
+
- if: '$CI_PIPELINE_SOURCE == "web"'
|
|
26
|
+
- if: '$CI_PIPELINE_SOURCE == "pipeline"'
|
|
27
|
+
- if: '$CI_PIPELINE_SOURCE == "push"'
|
|
28
|
+
when: never
|
|
29
|
+
|
|
30
|
+
check-sdist:
|
|
31
|
+
stage: compat
|
|
32
|
+
rules:
|
|
33
|
+
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
34
|
+
- if: '$CI_COMMIT_BRANCH =~ /^branch\/(default,stable)$/'
|
|
35
|
+
- when: never
|
|
36
|
+
image: $BASE_IMAGES_MERCURIAL/hg-current:${CI_COMMIT_HG_BRANCH}
|
|
37
|
+
needs: []
|
|
38
|
+
script:
|
|
39
|
+
- rm -rf dist
|
|
40
|
+
- python3 setup.py sdist
|
|
41
|
+
# most requirements will be preinstalled in the base image (taken from the
|
|
42
|
+
# default branch of HGitaly at time of image build), but they will be
|
|
43
|
+
# reexamined and any change will be tested.
|
|
44
|
+
- $PYTHON -m pip install dist/*.tar.gz
|
|
45
|
+
|
|
46
|
+
# used to mark job that should run for the 'default' branch of HGitaly only
|
|
47
|
+
.only_hgitaly_default:
|
|
48
|
+
rules:
|
|
49
|
+
- if: '$CI_COMMIT_HG_BRANCH == "default"'
|
|
50
|
+
- when: never
|
|
51
|
+
|
|
52
|
+
.pytests:
|
|
53
|
+
before_script:
|
|
54
|
+
# usually the base image should have all that's needed
|
|
55
|
+
# but in case of changes in test dependencies, we may still
|
|
56
|
+
# need to install/update something.
|
|
57
|
+
- $PYTHON -m pip install -r test-requirements.txt
|
|
58
|
+
- $PYTHON -m pip freeze
|
|
59
|
+
- ./lint
|
|
60
|
+
- mkdir -p /run/sshd
|
|
61
|
+
script:
|
|
62
|
+
- ./run-all-tests
|
|
63
|
+
|
|
64
|
+
.cargo-cache:
|
|
65
|
+
cache:
|
|
66
|
+
key: cargo-${CI_COMMIT_HG_BRANCH}
|
|
67
|
+
paths:
|
|
68
|
+
# not caching bin/ nor .crates files as these are for installed binaries
|
|
69
|
+
# and should be treated as artifacts instead
|
|
70
|
+
- ${CARGO_HOME}/registry/index/
|
|
71
|
+
- ${CARGO_HOME}/registry/cache/
|
|
72
|
+
- ${CARGO_HOME}/git/db/
|
|
73
|
+
|
|
74
|
+
tests-rust:
|
|
75
|
+
stage: main
|
|
76
|
+
image: ${BASE_IMAGES_COLLECTION}/hgitaly-rust:${CI_COMMIT_HG_BRANCH}
|
|
77
|
+
extends: .cargo-cache
|
|
78
|
+
variables:
|
|
79
|
+
CI_CLEVER_CLOUD_FLAVOR: XL
|
|
80
|
+
cache:
|
|
81
|
+
policy: pull-push
|
|
82
|
+
script:
|
|
83
|
+
- make -C rust dev-dependencies
|
|
84
|
+
- rustc --version
|
|
85
|
+
- cargo build --locked --manifest-path rust/Cargo.toml --features rust-embed/debug-embed
|
|
86
|
+
- cargo test --manifest-path rust/Cargo.toml
|
|
87
|
+
- rust/lint
|
|
88
|
+
artifacts:
|
|
89
|
+
expire_in: 1d
|
|
90
|
+
paths:
|
|
91
|
+
- ${RHGITALY_EXECUTABLE}
|
|
92
|
+
|
|
93
|
+
tests-hg-current:
|
|
94
|
+
extends:
|
|
95
|
+
- .pytests
|
|
96
|
+
stage: main
|
|
97
|
+
image: ${BASE_IMAGES_MERCURIAL}/hg-current:${BASE_IMAGES_TAG}
|
|
98
|
+
|
|
99
|
+
tests-py3.9:
|
|
100
|
+
extends:
|
|
101
|
+
- .pytests
|
|
102
|
+
stage: compat
|
|
103
|
+
image: ${BASE_IMAGES_MERCURIAL}/hg-current:${BASE_IMAGES_TAG}-py3.9
|
|
104
|
+
|
|
105
|
+
tests-hg-stable:
|
|
106
|
+
extends:
|
|
107
|
+
- .pytests
|
|
108
|
+
- .only_hgitaly_default
|
|
109
|
+
allow_failure: true
|
|
110
|
+
stage: compat
|
|
111
|
+
image: ${BASE_IMAGES_MERCURIAL}/hg-stable:${BASE_IMAGES_TAG}
|
|
112
|
+
|
|
113
|
+
tests-hg-default:
|
|
114
|
+
extends:
|
|
115
|
+
- .pytests
|
|
116
|
+
- .only_hgitaly_default
|
|
117
|
+
allow_failure: true
|
|
118
|
+
stage: compat
|
|
119
|
+
image: ${BASE_IMAGES_MERCURIAL}/hg-default:${BASE_IMAGES_TAG}
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
gitaly-comparison:
|
|
123
|
+
extends:
|
|
124
|
+
- .pytests
|
|
125
|
+
- .cargo-cache
|
|
126
|
+
cache:
|
|
127
|
+
policy: pull
|
|
128
|
+
stage: compat
|
|
129
|
+
image: ${BASE_IMAGES_COLLECTION}/heptapod-gitaly:${CI_COMMIT_HG_BRANCH}
|
|
130
|
+
variables:
|
|
131
|
+
GITALY_INSTALL_DIR: /opt/gitlab/gitaly
|
|
132
|
+
PYTHON: python3.9
|
|
133
|
+
PYTEST: pytest
|
|
134
|
+
script:
|
|
135
|
+
- echo "Full test run with Gitaly and RHGitaly Comparison tests"
|
|
136
|
+
- ./run-all-tests
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
upload:
|
|
140
|
+
image: ${BASE_IMAGES_COLLECTION}/hgitaly-rust:${CI_COMMIT_HG_BRANCH}
|
|
141
|
+
stage: packaging
|
|
142
|
+
extends:
|
|
143
|
+
- .cargo-cache
|
|
144
|
+
cache:
|
|
145
|
+
policy: pull
|
|
146
|
+
needs: []
|
|
147
|
+
rules:
|
|
148
|
+
- if: '$CI_COMMIT_TAG'
|
|
149
|
+
when: always
|
|
150
|
+
- if: '$CI_PIPELINE_SOURCE == "web" && $RHGITALY_UPLOAD'
|
|
151
|
+
when: always
|
|
152
|
+
- when: never
|
|
153
|
+
script:
|
|
154
|
+
- make -C rust ci-cd-upload
|
|
@@ -0,0 +1,36 @@
|
|
|
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/dependencies/spdx-license-list-data/
|
|
35
|
+
rust/dependencies/licenses_data/cache.zstd
|
|
36
|
+
rust/rhgitaly/src/generated/*
|
hgitaly-18.4.0a0/.hgtags
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
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
|
+
49f217d6d01acfe355c1f9fc1c722e907eedad22 2.3.4
|
|
118
|
+
a118debbf0a0deaa94b02ed0007ab2ef0f2b73c3 2.4.0
|
|
119
|
+
c1b00e1bc1bf0a2d41907b345c48cf795f910a4f 2.5.0
|
|
120
|
+
136dff98ddc1315e6db9479d9b6dd2c2204c2e5f 2.5.1
|
|
121
|
+
7dbcba18d83708ff81d8cec9696a86d24ed5d20a 2.5.2
|
|
122
|
+
3a83836b7408f1318a80f1ba97051086596edd12 2.5.3
|
|
123
|
+
3c955f8f106db667acb67a1cc5fa06b4a7e218e6 2.5.4
|
|
124
|
+
41919c3cff5ec5a6bbb735987c339c8aa57ed18c 2.5.5
|
|
125
|
+
b956f11f1342d8aada221b747ee16e1328037fcd 2.6.0
|
|
126
|
+
fe4e6866234771c53963b6e53b7fedd755eb11d1 2.7.0
|
|
127
|
+
3ddc65ae01f3271f70c7a9430334743e0b34251c 2.7.1
|
|
128
|
+
c9f24d13c3f7bbfc5453a4b92f33f0e96c212b51 2.7.2
|
|
129
|
+
71653477856e0e3fa0e40f9c1d41ad798c1e28b9 2.8.0
|
|
130
|
+
0304db0caa559ec5e96da219108a2c1a258966b0 2.8.1
|
|
131
|
+
574bfafe236c29f35131537fb4b8616cfbecab95 2.9.0
|
|
132
|
+
0f117ee61f169f9f9e56eadc340bdeeecb27259c 2.10.0
|
|
133
|
+
7d3440ddf010e5860660e5b82444ca2defbd60d1 2.11.0
|
|
134
|
+
cb9ce85c2136fd2c68f6cd7684c72ac33e659678 2.11.1
|
|
135
|
+
d6cce24d89a8a37cd85398f063203d3075c1afd1 17.8.0
|
|
136
|
+
646eb4769d16649b8daff17647e1e92ec81e68c8 17.8.1
|
|
137
|
+
cb5acb3e763e63d908e6eec319b17a7faaabbe7c 17.8.2
|
|
138
|
+
e9f5b758dbc13eb7dc1f44b8246bbef0dcc74f1a 17.8.3
|
|
139
|
+
c2dc21a71ccd0cbe8c33ae9b8ff28128e0d977bd 17.8.4
|
|
140
|
+
ac2aa9b92e0d157d1d51cc7864ed4658a2ecdb32 17.9.0
|
|
141
|
+
1febbc24f370e41ac50979a84fdc36a8eef85a41 17.9.1
|
|
142
|
+
c964e44bbddc2d8fd41fd72a685535dc7c793150 17.9.2
|
|
143
|
+
138820967edc1ffa23f49bf4101fb7a703baccb3 17.10.0a0
|
|
144
|
+
fdf0201ab1df3afbb372f4dd1005009ca37be713 17.11.0a0
|
|
145
|
+
035b7b7e03a1c34fea4bc7995d54d2c8d088c3f7 17.11.0
|
|
146
|
+
82eb6e9f12cb5a63bcd6a1f5e9c5ff26fb17b0f6 17.11.1
|
|
147
|
+
12035ca6dd36b033c1ef3ff0e1d8f3c954d00edf 17.11.2
|
|
148
|
+
02fe8d2e369a2349531e3ff9735477cf37f95c72 17.11.3
|
|
149
|
+
3c51132a111f9500f9017fc30b66bf6ccd40da3e 17.11.4
|
|
150
|
+
c719859a655c7de4b357d1c2ff0046fe55f78e2a 18.0.0a0
|
|
151
|
+
4b328f9fe01172165ef316447a9f871a97c25b51 18.0.0a1
|
|
152
|
+
5b4fd5ad61c0b59ee59b12608260a09814540d21 18.0.0
|
|
153
|
+
3be6f45d685599825a05fd6c0a9a209aeea40a54 18.0.1
|
|
154
|
+
a380e93f0ddb58173f16f88bbd4cc1e1fce48e05 18.0.2
|
|
155
|
+
da29b0e5e142550047ed2a524bcc188e91f84392 18.0.3
|
|
156
|
+
07f4445f467508af203c315f25af876f2aeb3573 18.0.4
|
|
157
|
+
1f2cc123e7a64183c4c1b2c52e5f3adfb2d727db 18.1.0a0
|
|
158
|
+
336caa79d5d283c6f4ddcaf2fa9a91317e3d927d 18.2.0a0
|
|
159
|
+
cbfadfde3194e3941fb11b1735890461f53ca706 18.2.0a1
|
|
160
|
+
fde0812d01f2e96e4c4549dcb68c0c47b12c2009 18.2.0
|
|
161
|
+
5dbd2e5b42869c5be9db7296e64247d3c8c7fdb3 18.2.1
|
|
162
|
+
f96652fad8a1f9ce6723567fbac0354394516aa2 18.2.2
|
|
163
|
+
268e12b08deb72a0c964b193fd4c11f64bb7262e 18.2.3
|
|
164
|
+
77991676f147a8242a206c1b9d3f227dcb10fadb 18.3.0a0
|
|
165
|
+
c09962db1c4922d6a4cec519adfb08702a8feab5 18.3.0a1
|
|
166
|
+
0f7eaed64b9aeac9e840a591e322c2d32742a926 18.3.0
|
|
167
|
+
8042e4f95860632432f58f6ee2b81f1a4930933d 18.3.1
|
|
168
|
+
19311bd28fc3d2836faffd98925f136437bbc84b 18.3.2
|
|
@@ -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,100 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
import pytest
|
|
3
|
+
|
|
4
|
+
import grpc
|
|
5
|
+
from grpc_health.v1 import health
|
|
6
|
+
from grpc_health.v1 import health_pb2
|
|
7
|
+
from grpc_health.v1 import health_pb2_grpc
|
|
8
|
+
|
|
9
|
+
from hgitaly.service.interceptors import (
|
|
10
|
+
RequestLoggerInterceptor,
|
|
11
|
+
)
|
|
12
|
+
from hgitaly.service.analysis import AnalysisServicer
|
|
13
|
+
from hgitaly.service.blob import BlobServicer
|
|
14
|
+
from hgitaly.service.commit import CommitServicer
|
|
15
|
+
from hgitaly.service.ref import RefServicer
|
|
16
|
+
from hgitaly.service.diff import DiffServicer
|
|
17
|
+
from hgitaly.service.mercurial_changeset import MercurialChangesetServicer
|
|
18
|
+
from hgitaly.service.mercurial_operations import MercurialOperationsServicer
|
|
19
|
+
from hgitaly.service.mercurial_repository import MercurialRepositoryServicer
|
|
20
|
+
from hgitaly.service.operations import OperationServicer
|
|
21
|
+
from hgitaly.service.repository import RepositoryServicer
|
|
22
|
+
from hgitaly.service.server import ServerServicer
|
|
23
|
+
|
|
24
|
+
from hgitaly.stub.analysis_pb2_grpc import (
|
|
25
|
+
add_AnalysisServiceServicer_to_server,
|
|
26
|
+
)
|
|
27
|
+
from hgitaly.stub.blob_pb2_grpc import add_BlobServiceServicer_to_server
|
|
28
|
+
from hgitaly.stub.commit_pb2_grpc import add_CommitServiceServicer_to_server
|
|
29
|
+
from hgitaly.stub.ref_pb2_grpc import add_RefServiceServicer_to_server
|
|
30
|
+
from hgitaly.stub.diff_pb2_grpc import add_DiffServiceServicer_to_server
|
|
31
|
+
from hgitaly.stub.operations_pb2_grpc import (
|
|
32
|
+
add_OperationServiceServicer_to_server
|
|
33
|
+
)
|
|
34
|
+
from hgitaly.stub.repository_pb2_grpc import (
|
|
35
|
+
add_RepositoryServiceServicer_to_server
|
|
36
|
+
)
|
|
37
|
+
from hgitaly.stub.mercurial_changeset_pb2_grpc import (
|
|
38
|
+
add_MercurialChangesetServiceServicer_to_server
|
|
39
|
+
)
|
|
40
|
+
from hgitaly.stub.mercurial_operations_pb2_grpc import (
|
|
41
|
+
add_MercurialOperationsServiceServicer_to_server
|
|
42
|
+
)
|
|
43
|
+
from hgitaly.stub.mercurial_repository_pb2_grpc import (
|
|
44
|
+
add_MercurialRepositoryServiceServicer_to_server
|
|
45
|
+
)
|
|
46
|
+
from hgitaly.stub.server_pb2_grpc import add_ServerServiceServicer_to_server
|
|
47
|
+
from hgitaly.testing.storage import storage_path
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
@pytest.fixture(scope='module')
|
|
51
|
+
def grpc_interceptors():
|
|
52
|
+
return [RequestLoggerInterceptor(),
|
|
53
|
+
]
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@pytest.fixture(scope='module')
|
|
57
|
+
def grpc_server(_grpc_server, grpc_addr, server_repos_root):
|
|
58
|
+
storages = dict(
|
|
59
|
+
default=str(storage_path(server_repos_root, 'default')).encode(),
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
add_AnalysisServiceServicer_to_server(AnalysisServicer(storages),
|
|
63
|
+
_grpc_server)
|
|
64
|
+
add_BlobServiceServicer_to_server(BlobServicer(storages),
|
|
65
|
+
_grpc_server)
|
|
66
|
+
add_CommitServiceServicer_to_server(CommitServicer(storages),
|
|
67
|
+
_grpc_server)
|
|
68
|
+
add_RefServiceServicer_to_server(RefServicer(storages),
|
|
69
|
+
_grpc_server)
|
|
70
|
+
add_DiffServiceServicer_to_server(DiffServicer(storages),
|
|
71
|
+
_grpc_server)
|
|
72
|
+
add_OperationServiceServicer_to_server(
|
|
73
|
+
OperationServicer(storages),
|
|
74
|
+
_grpc_server)
|
|
75
|
+
add_RepositoryServiceServicer_to_server(
|
|
76
|
+
RepositoryServicer(storages),
|
|
77
|
+
_grpc_server)
|
|
78
|
+
add_MercurialChangesetServiceServicer_to_server(
|
|
79
|
+
MercurialChangesetServicer(storages),
|
|
80
|
+
_grpc_server)
|
|
81
|
+
add_MercurialOperationsServiceServicer_to_server(
|
|
82
|
+
MercurialOperationsServicer(storages),
|
|
83
|
+
_grpc_server)
|
|
84
|
+
add_MercurialRepositoryServiceServicer_to_server(
|
|
85
|
+
MercurialRepositoryServicer(storages),
|
|
86
|
+
_grpc_server)
|
|
87
|
+
add_ServerServiceServicer_to_server(ServerServicer(storages),
|
|
88
|
+
_grpc_server)
|
|
89
|
+
health_servicer = health.HealthServicer()
|
|
90
|
+
health_pb2_grpc.add_HealthServicer_to_server(health_servicer, _grpc_server)
|
|
91
|
+
|
|
92
|
+
_grpc_server.add_insecure_port(grpc_addr)
|
|
93
|
+
_grpc_server.start()
|
|
94
|
+
yield _grpc_server
|
|
95
|
+
_grpc_server.stop(grace=None)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
@pytest.fixture(scope='module')
|
|
99
|
+
def server_repos_root(tmp_path_factory):
|
|
100
|
+
return Path(tmp_path_factory.mktemp("server-repos"))
|
|
@@ -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')
|