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