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