hgitaly 18.4.2__tar.gz → 18.5.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-18.4.2/hgitaly.egg-info → hgitaly-18.5.0}/PKG-INFO +3 -3
- hgitaly-18.5.0/hgitaly/VERSION +1 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/server/mono.py +6 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/commit.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/diff.py +2 -1
- hgitaly-18.5.0/hgitaly/service/mercurial_namespace.py +101 -0
- hgitaly-18.5.0/hgitaly/service/tests/test_mercurial_namespace.py +93 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/analysis_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/blob_pb2_grpc.py +1 -1
- hgitaly-18.5.0/hgitaly/stub/commit_pb2.py +265 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/commit_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/diff_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/errors_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/lint_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/mercurial_aux_git_pb2.py +12 -3
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/mercurial_aux_git_pb2_grpc.py +46 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/mercurial_changeset_pb2_grpc.py +1 -1
- hgitaly-18.5.0/hgitaly/stub/mercurial_namespace_pb2.py +42 -0
- hgitaly-18.5.0/hgitaly/stub/mercurial_namespace_pb2_grpc.py +143 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/mercurial_operations_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/mercurial_repository_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/operations_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/ref_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/remote_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/repository_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/server_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/shared_pb2_grpc.py +1 -1
- {hgitaly-18.4.2 → hgitaly-18.5.0/hgitaly.egg-info}/PKG-INFO +3 -3
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly.egg-info/SOURCES.txt +4 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly.egg-info/requires.txt +2 -2
- {hgitaly-18.4.2 → hgitaly-18.5.0}/install-requirements.txt +2 -2
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_commit.py +11 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_mercurial_aux_git.py +42 -0
- hgitaly-18.4.2/hgitaly/VERSION +0 -1
- hgitaly-18.4.2/hgitaly/stub/commit_pb2.py +0 -265
- {hgitaly-18.4.2 → hgitaly-18.5.0}/LICENSE +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/MANIFEST.in +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/README.md +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgext3rd/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgext3rd/hgitaly/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgext3rd/hgitaly/revset.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgext3rd/hgitaly/tests/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgext3rd/hgitaly/tests/test_revset.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgext3rd/hgitaly/tests/test_serve.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/branch.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/changelog.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/diff.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/errors.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/feature.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/file_content.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/file_context.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/git.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/gitlab_ref.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/identification.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/logging.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/manifest.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/message.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/oid.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/pagination.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/path.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/peer.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/procutil.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/repository.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/revision.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/revset.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/scripts.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/server/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/server/address.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/server/prefork.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/server/tests/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/server/tests/test_address.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/server/tests/test_mono.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/server/tests/test_prefork.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/server/tests/test_worker.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/server/worker.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/analysis.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/blob.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/interceptors.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/mercurial_changeset.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/mercurial_operations.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/mercurial_repository.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/operations.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/ref.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/repository.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/server.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/fixture.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_analysis.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_blob.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_commit.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_default_branch.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_diff.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_mercurial_changeset.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_mercurial_operations.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_mercurial_repository.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_operations.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_ref.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_repository_service.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/service/tests/test_server.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/servicer.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/ssh.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stream.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/analysis_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/blob_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/diff_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/errors_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/lint_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/mercurial_changeset_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/mercurial_operations_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/mercurial_repository_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/operations_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/ref_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/remote_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/repository_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/server_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/stub/shared_pb2.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tag.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/testing/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/testing/bundle.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/testing/context.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/testing/grpc.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/testing/multiprocessing.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/testing/repo.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/testing/ssh.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/testing/sshd.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/testing/storage.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/testing/tests/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/testing/tests/test_sshd.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/common.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_branch.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_diff.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_errors.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_feature.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_file_context.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_gitlab_ref.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_identification.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_manifest.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_messages.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_oid.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_peer.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_repository.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_revision.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_revset.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_servicer.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_stream.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_tag.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/tests/test_workdir.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/util.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly/workdir.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly.egg-info/dependency_links.txt +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly.egg-info/entry_points.txt +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/hgitaly.egg-info/top_level.txt +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/setup.cfg +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/setup.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/__init__.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/comparison.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/conftest.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/gitaly.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/hgitaly_rhgitaly_comparison.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/rhgitaly.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_blob_tree.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_comparison.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_diff.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_gitaly_server.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_mercurial_operations.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_mercurial_repository.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_operations.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_ref.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_remote.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_repository_service.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_rhgitaly_server.py +0 -0
- {hgitaly-18.4.2 → hgitaly-18.5.0}/tests_with_gitaly/test_server.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hgitaly
|
|
3
|
-
Version: 18.
|
|
3
|
+
Version: 18.5.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
|
|
@@ -12,8 +12,8 @@ Description-Content-Type: text/markdown
|
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Requires-Dist: heptapod>=5.4.0
|
|
14
14
|
Requires-Dist: protobuf~=6.31.1
|
|
15
|
-
Requires-Dist: grpcio~=1.
|
|
16
|
-
Requires-Dist: grpcio-status~=1.
|
|
15
|
+
Requires-Dist: grpcio~=1.75.0
|
|
16
|
+
Requires-Dist: grpcio-status~=1.75.0
|
|
17
17
|
Requires-Dist: grpc-interceptor
|
|
18
18
|
Requires-Dist: grpcio-health-checking
|
|
19
19
|
Requires-Dist: hg-loggingmod>=0.4.1
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
18.5.0
|
|
@@ -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(
|
|
@@ -279,7 +279,8 @@ class DiffServicer(DiffServiceServicer, HGitalyServicer):
|
|
|
279
279
|
parsed_request = parse_diff_request(self, request, context)
|
|
280
280
|
parsed, repo, ctx_from, ctx_to = parsed_request
|
|
281
281
|
if not parsed:
|
|
282
|
-
context.abort(StatusCode.FAILED_PRECONDITION,
|
|
282
|
+
context.abort(StatusCode.FAILED_PRECONDITION,
|
|
283
|
+
"eachDiff: exit status 128")
|
|
283
284
|
|
|
284
285
|
m = None
|
|
285
286
|
if request.paths:
|
|
@@ -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()
|
|
@@ -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()
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: commit.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
|
+
'commit.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from . import errors_pb2 as errors__pb2
|
|
26
|
+
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
27
|
+
from . import lint_pb2 as lint__pb2
|
|
28
|
+
from . import shared_pb2 as shared__pb2
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x63ommit.proto\x12\x06gitaly\x1a\x0c\x65rrors.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\nlint.proto\x1a\x0cshared.proto\"\xf1\x03\n\x12ListCommitsRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x11\n\trevisions\x18\x02 \x03(\t\x12\x36\n\x11pagination_params\x18\x03 \x01(\x0b\x32\x1b.gitaly.PaginationParameter\x12/\n\x05order\x18\x04 \x01(\x0e\x32 .gitaly.ListCommitsRequest.Order\x12\x13\n\x0bmax_parents\x18\x05 \x01(\r\x12\x14\n\x0c\x64isable_walk\x18\x06 \x01(\x08\x12\x14\n\x0c\x66irst_parent\x18\x07 \x01(\x08\x12)\n\x05\x61\x66ter\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12*\n\x06\x62\x65\x66ore\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06\x61uthor\x18\n \x01(\x0c\x12\x0f\n\x07reverse\x18\x0b \x01(\x08\x12\x13\n\x0bignore_case\x18\x0c \x01(\x08\x12\x1f\n\x17\x63ommit_message_patterns\x18\r \x03(\x0c\x12\x0c\n\x04skip\x18\x0e \x01(\r\x12\r\n\x05paths\x18\x0f \x03(\x0c\"%\n\x05Order\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04TOPO\x10\x01\x12\x08\n\x04\x44\x41TE\x10\x02\"9\n\x13ListCommitsResponse\x12\"\n\x07\x63ommits\x18\x01 \x03(\x0b\x32\x11.gitaly.GitCommit\"}\n\x15ListAllCommitsRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x36\n\x11pagination_params\x18\x02 \x01(\x0b\x32\x1b.gitaly.PaginationParameter\"<\n\x16ListAllCommitsResponse\x12\"\n\x07\x63ommits\x18\x01 \x03(\x0b\x32\x11.gitaly.GitCommit\"T\n\x12\x43ommitStatsRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\"W\n\x13\x43ommitStatsResponse\x12\x0b\n\x03oid\x18\x01 \x01(\t\x12\x11\n\tadditions\x18\x02 \x01(\x05\x12\x11\n\tdeletions\x18\x03 \x01(\x05\x12\r\n\x05\x66iles\x18\x04 \x01(\x05\"n\n\x17\x43ommitIsAncestorRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x13\n\x0b\x61ncestor_id\x18\x02 \x01(\t\x12\x10\n\x08\x63hild_id\x18\x03 \x01(\t\")\n\x18\x43ommitIsAncestorResponse\x12\r\n\x05value\x18\x01 \x01(\x08\"\x81\x01\n\x10TreeEntryRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\x12\x0c\n\x04path\x18\x03 \x01(\x0c\x12\r\n\x05limit\x18\x04 \x01(\x03\x12\x10\n\x08max_size\x18\x05 \x01(\x03\"\xb5\x01\n\x11TreeEntryResponse\x12\x32\n\x04type\x18\x01 \x01(\x0e\x32$.gitaly.TreeEntryResponse.ObjectType\x12\x0b\n\x03oid\x18\x02 \x01(\t\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0c\n\x04mode\x18\x04 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\"5\n\nObjectType\x12\n\n\x06\x43OMMIT\x10\x00\x12\x08\n\x04\x42LOB\x10\x01\x12\x08\n\x04TREE\x10\x02\x12\x07\n\x03TAG\x10\x03\"\x9f\x02\n\x13\x43ountCommitsRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\x12)\n\x05\x61\x66ter\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12*\n\x06\x62\x65\x66ore\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04path\x18\x05 \x01(\x0c\x12\x11\n\tmax_count\x18\x06 \x01(\x05\x12\x0b\n\x03\x61ll\x18\x07 \x01(\x08\x12\x14\n\x0c\x66irst_parent\x18\x08 \x01(\x08\x12-\n\x0eglobal_options\x18\t \x01(\x0b\x32\x15.gitaly.GlobalOptions\"%\n\x14\x43ountCommitsResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x05\"\x8b\x01\n\x1c\x43ountDivergingCommitsRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0c\n\x04\x66rom\x18\x02 \x01(\x0c\x12\n\n\x02to\x18\x03 \x01(\x0c\x12\x11\n\tmax_count\x18\x07 \x01(\x05J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07\"H\n\x1d\x43ountDivergingCommitsResponse\x12\x12\n\nleft_count\x18\x01 \x01(\x05\x12\x13\n\x0bright_count\x18\x02 \x01(\x05\"\xc3\x01\n\tTreeEntry\x12\x0b\n\x03oid\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\x0c\x12)\n\x04type\x18\x04 \x01(\x0e\x32\x1b.gitaly.TreeEntry.EntryType\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x12\n\ncommit_oid\x18\x06 \x01(\t\x12\x11\n\tflat_path\x18\x07 \x01(\x0c\"+\n\tEntryType\x12\x08\n\x04\x42LOB\x10\x00\x12\x08\n\x04TREE\x10\x01\x12\n\n\x06\x43OMMIT\x10\x03J\x04\x08\x02\x10\x03R\x08root_oid\"\xa5\x02\n\x15GetTreeEntriesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\x12\x0c\n\x04path\x18\x03 \x01(\x0c\x12\x11\n\trecursive\x18\x04 \x01(\x08\x12\x32\n\x04sort\x18\x05 \x01(\x0e\x32$.gitaly.GetTreeEntriesRequest.SortBy\x12\x36\n\x11pagination_params\x18\x06 \x01(\x0b\x32\x1b.gitaly.PaginationParameter\x12\x17\n\x0fskip_flat_paths\x18\x07 \x01(\x08\"&\n\x06SortBy\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0f\n\x0bTREES_FIRST\x10\x01\"q\n\x16GetTreeEntriesResponse\x12\"\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x11.gitaly.TreeEntry\x12\x33\n\x11pagination_cursor\x18\x02 \x01(\x0b\x32\x18.gitaly.PaginationCursor\"w\n\x13GetTreeEntriesError\x12\x34\n\x0cresolve_tree\x18\x01 \x01(\x0b\x32\x1c.gitaly.ResolveRevisionErrorH\x00\x12!\n\x04path\x18\x02 \x01(\x0b\x32\x11.gitaly.PathErrorH\x00\x42\x07\n\x05\x65rror\"R\n\x10ListFilesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\"\"\n\x11ListFilesResponse\x12\r\n\x05paths\x18\x01 \x03(\x0c\"e\n\x11\x46indCommitRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\x12\x10\n\x08trailers\x18\x03 \x01(\x08\"7\n\x12\x46indCommitResponse\x12!\n\x06\x63ommit\x18\x01 \x01(\x0b\x32\x11.gitaly.GitCommit\"T\n\x17ListCommitsByOidRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0b\n\x03oid\x18\x02 \x03(\t\">\n\x18ListCommitsByOidResponse\x12\"\n\x07\x63ommits\x18\x01 \x03(\x0b\x32\x11.gitaly.GitCommit\"^\n\x1bListCommitsByRefNameRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x11\n\tref_names\x18\x02 \x03(\x0c\"\xb1\x01\n\x1cListCommitsByRefNameResponse\x12\x46\n\x0b\x63ommit_refs\x18\x02 \x03(\x0b\x32\x31.gitaly.ListCommitsByRefNameResponse.CommitForRef\x1a\x43\n\x0c\x43ommitForRef\x12!\n\x06\x63ommit\x18\x01 \x01(\x0b\x32\x11.gitaly.GitCommit\x12\x10\n\x08ref_name\x18\x02 \x01(\x0cJ\x04\x08\x01\x10\x02\"\xd3\x01\n\x15\x46indAllCommitsRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\x12\x11\n\tmax_count\x18\x03 \x01(\x05\x12\x0c\n\x04skip\x18\x04 \x01(\x05\x12\x32\n\x05order\x18\x05 \x01(\x0e\x32#.gitaly.FindAllCommitsRequest.Order\"%\n\x05Order\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04TOPO\x10\x01\x12\x08\n\x04\x44\x41TE\x10\x02\"<\n\x16\x46indAllCommitsResponse\x12\"\n\x07\x63ommits\x18\x01 \x03(\x0b\x32\x11.gitaly.GitCommit\"\xab\x04\n\x12\x46indCommitsRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\x12\r\n\x05limit\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x05\x12\r\n\x05paths\x18\x05 \x03(\x0c\x12\x0e\n\x06\x66ollow\x18\x06 \x01(\x08\x12\x13\n\x0bskip_merges\x18\x07 \x01(\x08\x12\x18\n\x0c\x64isable_walk\x18\x08 \x01(\x08\x42\x02\x18\x01\x12)\n\x05\x61\x66ter\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12*\n\x06\x62\x65\x66ore\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0b\n\x03\x61ll\x18\x0b \x01(\x08\x12\x14\n\x0c\x66irst_parent\x18\x0c \x01(\x08\x12\x0e\n\x06\x61uthor\x18\r \x01(\x0c\x12/\n\x05order\x18\x0e \x01(\x0e\x32 .gitaly.FindCommitsRequest.Order\x12-\n\x0eglobal_options\x18\x0f \x01(\x0b\x32\x15.gitaly.GlobalOptions\x12\x10\n\x08trailers\x18\x10 \x01(\x08\x12\x19\n\x11include_shortstat\x18\x11 \x01(\x08\x12\x1d\n\x15include_referenced_by\x18\x12 \x03(\x0c\x12\x15\n\rmessage_regex\x18\x13 \x01(\t\"\x1b\n\x05Order\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04TOPO\x10\x01\"9\n\x13\x46indCommitsResponse\x12\"\n\x07\x63ommits\x18\x01 \x03(\x0b\x32\x11.gitaly.GitCommit\"\xba\x01\n\x10\x46indCommitsError\x12,\n\nbad_object\x18\x01 \x01(\x0b\x32\x16.gitaly.BadObjectErrorH\x00\x12\x38\n\rambiguous_ref\x18\x02 \x01(\x0b\x32\x1f.gitaly.AmbiguousReferenceErrorH\x00\x12\x35\n\rinvalid_range\x18\x03 \x01(\x0b\x32\x1c.gitaly.InvalidRevisionRangeH\x00\x42\x07\n\x05\x65rror\"X\n\x16\x43ommitLanguagesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\"\xc4\x01\n\x17\x43ommitLanguagesResponse\x12;\n\tlanguages\x18\x01 \x03(\x0b\x32(.gitaly.CommitLanguagesResponse.Language\x1al\n\x08Language\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05share\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\t\x12\r\n\x05\x62ytes\x18\x05 \x01(\x04\x12\x13\n\x0blanguage_id\x18\x06 \x01(\x03J\x04\x08\x04\x10\x05R\nfile_count\"\x8d\x01\n\x0fRawBlameRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\x12\x0c\n\x04path\x18\x03 \x01(\x0c\x12\r\n\x05range\x18\x04 \x01(\x0c\x12\x1d\n\x15ignore_revisions_blob\x18\x05 \x01(\x0c\" \n\x10RawBlameResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\xc6\x03\n\rRawBlameError\x12\x33\n\x0epath_not_found\x18\x01 \x01(\x0b\x32\x19.gitaly.PathNotFoundErrorH\x00\x12=\n\x0cout_of_range\x18\x02 \x01(\x0b\x32%.gitaly.RawBlameError.OutOfRangeErrorH\x00\x12K\n\x13resolve_ignore_revs\x18\x03 \x01(\x0b\x32,.gitaly.RawBlameError.ResolveIgnoreRevsErrorH\x00\x12X\n\x1ainvalid_ignore_revs_format\x18\x04 \x01(\x0b\x32\x32.gitaly.RawBlameError.InvalidIgnoreRevsFormatErrorH\x00\x1a\'\n\x0fOutOfRangeError\x12\x14\n\x0c\x61\x63tual_lines\x18\x01 \x01(\x04\x1a/\n\x1cInvalidIgnoreRevsFormatError\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\x0c\x1a\x37\n\x16ResolveIgnoreRevsError\x12\x1d\n\x15ignore_revisions_blob\x18\x01 \x01(\x0c\x42\x07\n\x05\x65rror\"\xb1\x01\n\x18LastCommitForPathRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\x12\x0c\n\x04path\x18\x03 \x01(\x0c\x12\x18\n\x10literal_pathspec\x18\x04 \x01(\x08\x12-\n\x0eglobal_options\x18\x05 \x01(\x0b\x32\x15.gitaly.GlobalOptions\">\n\x19LastCommitForPathResponse\x12!\n\x06\x63ommit\x18\x01 \x01(\x0b\x32\x11.gitaly.GitCommit\"\xd9\x01\n\x1dListLastCommitsForTreeRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\x0c\x12\r\n\x05limit\x18\x04 \x01(\x05\x12\x0e\n\x06offset\x18\x05 \x01(\x05\x12\x1c\n\x10literal_pathspec\x18\x06 \x01(\x08\x42\x02\x18\x01\x12-\n\x0eglobal_options\x18\x07 \x01(\x0b\x32\x15.gitaly.GlobalOptions\"\xbb\x01\n\x1eListLastCommitsForTreeResponse\x12\x45\n\x07\x63ommits\x18\x01 \x03(\x0b\x32\x34.gitaly.ListLastCommitsForTreeResponse.CommitForTree\x1aR\n\rCommitForTree\x12!\n\x06\x63ommit\x18\x02 \x01(\x0b\x32\x11.gitaly.GitCommit\x12\x12\n\npath_bytes\x18\x04 \x01(\x0cJ\x04\x08\x01\x10\x02J\x04\x08\x03\x10\x04\"\xc4\x01\n\x17\x43ommitsByMessageRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x10\n\x08revision\x18\x02 \x01(\x0c\x12\x0e\n\x06offset\x18\x03 \x01(\x05\x12\r\n\x05limit\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\x0c\x12\r\n\x05query\x18\x06 \x01(\t\x12-\n\x0eglobal_options\x18\x07 \x01(\x0b\x32\x15.gitaly.GlobalOptions\">\n\x18\x43ommitsByMessageResponse\x12\"\n\x07\x63ommits\x18\x01 \x03(\x0b\x32\x11.gitaly.GitCommit\"]\n\x1f\x46ilterShasWithSignaturesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x0c\n\x04shas\x18\x02 \x03(\x0c\"0\n FilterShasWithSignaturesResponse\x12\x0c\n\x04shas\x18\x01 \x03(\x0c\"^\n\x1aGetCommitSignaturesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x12\n\ncommit_ids\x18\x02 \x03(\t\"\xa9\x02\n\x1bGetCommitSignaturesResponse\x12\x11\n\tcommit_id\x18\x01 \x01(\t\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x12\x13\n\x0bsigned_text\x18\x03 \x01(\x0c\x12:\n\x06signer\x18\x04 \x01(\x0e\x32*.gitaly.GetCommitSignaturesResponse.Signer\x12$\n\x06\x61uthor\x18\x05 \x01(\x0b\x32\x14.gitaly.CommitAuthor\x12\'\n\tcommitter\x18\x06 \x01(\x0b\x32\x14.gitaly.CommitAuthor\"D\n\x06Signer\x12\x16\n\x12SIGNER_UNSPECIFIED\x10\x00\x12\x0f\n\x0bSIGNER_USER\x10\x01\x12\x11\n\rSIGNER_SYSTEM\x10\x02\"\\\n\x18GetCommitMessagesRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x12\n\ncommit_ids\x18\x02 \x03(\t\"?\n\x19GetCommitMessagesResponse\x12\x11\n\tcommit_id\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"[\n\x18\x43heckObjectsExistRequest\x12,\n\nrepository\x18\x01 \x01(\x0b\x32\x12.gitaly.RepositoryB\x04\x98\xc6,\x01\x12\x11\n\trevisions\x18\x02 \x03(\x0c\"\x96\x01\n\x19\x43heckObjectsExistResponse\x12\x46\n\trevisions\x18\x01 \x03(\x0b\x32\x33.gitaly.CheckObjectsExistResponse.RevisionExistence\x1a\x31\n\x11RevisionExistence\x12\x0c\n\x04name\x18\x01 \x01(\x0c\x12\x0e\n\x06\x65xists\x18\x02 \x01(\x08\x32\xf1\x10\n\rCommitService\x12P\n\x0bListCommits\x12\x1a.gitaly.ListCommitsRequest\x1a\x1b.gitaly.ListCommitsResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12Y\n\x0eListAllCommits\x12\x1d.gitaly.ListAllCommitsRequest\x1a\x1e.gitaly.ListAllCommitsResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12]\n\x10\x43ommitIsAncestor\x12\x1f.gitaly.CommitIsAncestorRequest\x1a .gitaly.CommitIsAncestorResponse\"\x06\xfa\x97(\x02\x08\x02\x12J\n\tTreeEntry\x12\x18.gitaly.TreeEntryRequest\x1a\x19.gitaly.TreeEntryResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12Q\n\x0c\x43ountCommits\x12\x1b.gitaly.CountCommitsRequest\x1a\x1c.gitaly.CountCommitsResponse\"\x06\xfa\x97(\x02\x08\x02\x12l\n\x15\x43ountDivergingCommits\x12$.gitaly.CountDivergingCommitsRequest\x1a%.gitaly.CountDivergingCommitsResponse\"\x06\xfa\x97(\x02\x08\x02\x12Y\n\x0eGetTreeEntries\x12\x1d.gitaly.GetTreeEntriesRequest\x1a\x1e.gitaly.GetTreeEntriesResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12J\n\tListFiles\x12\x18.gitaly.ListFilesRequest\x1a\x19.gitaly.ListFilesResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12K\n\nFindCommit\x12\x19.gitaly.FindCommitRequest\x1a\x1a.gitaly.FindCommitResponse\"\x06\xfa\x97(\x02\x08\x02\x12N\n\x0b\x43ommitStats\x12\x1a.gitaly.CommitStatsRequest\x1a\x1b.gitaly.CommitStatsResponse\"\x06\xfa\x97(\x02\x08\x02\x12Y\n\x0e\x46indAllCommits\x12\x1d.gitaly.FindAllCommitsRequest\x1a\x1e.gitaly.FindAllCommitsResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12P\n\x0b\x46indCommits\x12\x1a.gitaly.FindCommitsRequest\x1a\x1b.gitaly.FindCommitsResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12Z\n\x0f\x43ommitLanguages\x12\x1e.gitaly.CommitLanguagesRequest\x1a\x1f.gitaly.CommitLanguagesResponse\"\x06\xfa\x97(\x02\x08\x01\x12G\n\x08RawBlame\x12\x17.gitaly.RawBlameRequest\x1a\x18.gitaly.RawBlameResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12`\n\x11LastCommitForPath\x12 .gitaly.LastCommitForPathRequest\x1a!.gitaly.LastCommitForPathResponse\"\x06\xfa\x97(\x02\x08\x02\x12q\n\x16ListLastCommitsForTree\x12%.gitaly.ListLastCommitsForTreeRequest\x1a&.gitaly.ListLastCommitsForTreeResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12_\n\x10\x43ommitsByMessage\x12\x1f.gitaly.CommitsByMessageRequest\x1a .gitaly.CommitsByMessageResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12_\n\x10ListCommitsByOid\x12\x1f.gitaly.ListCommitsByOidRequest\x1a .gitaly.ListCommitsByOidResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12k\n\x14ListCommitsByRefName\x12#.gitaly.ListCommitsByRefNameRequest\x1a$.gitaly.ListCommitsByRefNameResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12y\n\x18\x46ilterShasWithSignatures\x12\'.gitaly.FilterShasWithSignaturesRequest\x1a(.gitaly.FilterShasWithSignaturesResponse\"\x06\xfa\x97(\x02\x08\x02(\x01\x30\x01\x12h\n\x13GetCommitSignatures\x12\".gitaly.GetCommitSignaturesRequest\x1a#.gitaly.GetCommitSignaturesResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12\x62\n\x11GetCommitMessages\x12 .gitaly.GetCommitMessagesRequest\x1a!.gitaly.GetCommitMessagesResponse\"\x06\xfa\x97(\x02\x08\x02\x30\x01\x12\x64\n\x11\x43heckObjectsExist\x12 .gitaly.CheckObjectsExistRequest\x1a!.gitaly.CheckObjectsExistResponse\"\x06\xfa\x97(\x02\x08\x02(\x01\x30\x01\x42\x34Z2gitlab.com/gitlab-org/gitaly/v16/proto/go/gitalypbb\x06proto3')
|
|
32
|
+
|
|
33
|
+
_globals = globals()
|
|
34
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
35
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'commit_pb2', _globals)
|
|
36
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
37
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
38
|
+
_globals['DESCRIPTOR']._serialized_options = b'Z2gitlab.com/gitlab-org/gitaly/v16/proto/go/gitalypb'
|
|
39
|
+
_globals['_LISTCOMMITSREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
40
|
+
_globals['_LISTCOMMITSREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
41
|
+
_globals['_LISTALLCOMMITSREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
42
|
+
_globals['_LISTALLCOMMITSREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
43
|
+
_globals['_COMMITSTATSREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
44
|
+
_globals['_COMMITSTATSREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
45
|
+
_globals['_COMMITISANCESTORREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
46
|
+
_globals['_COMMITISANCESTORREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
47
|
+
_globals['_TREEENTRYREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
48
|
+
_globals['_TREEENTRYREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
49
|
+
_globals['_COUNTCOMMITSREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
50
|
+
_globals['_COUNTCOMMITSREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
51
|
+
_globals['_COUNTDIVERGINGCOMMITSREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
52
|
+
_globals['_COUNTDIVERGINGCOMMITSREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
53
|
+
_globals['_GETTREEENTRIESREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
54
|
+
_globals['_GETTREEENTRIESREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
55
|
+
_globals['_LISTFILESREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
56
|
+
_globals['_LISTFILESREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
57
|
+
_globals['_FINDCOMMITREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
58
|
+
_globals['_FINDCOMMITREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
59
|
+
_globals['_LISTCOMMITSBYOIDREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
60
|
+
_globals['_LISTCOMMITSBYOIDREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
61
|
+
_globals['_LISTCOMMITSBYREFNAMEREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
62
|
+
_globals['_LISTCOMMITSBYREFNAMEREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
63
|
+
_globals['_FINDALLCOMMITSREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
64
|
+
_globals['_FINDALLCOMMITSREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
65
|
+
_globals['_FINDCOMMITSREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
66
|
+
_globals['_FINDCOMMITSREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
67
|
+
_globals['_FINDCOMMITSREQUEST'].fields_by_name['disable_walk']._loaded_options = None
|
|
68
|
+
_globals['_FINDCOMMITSREQUEST'].fields_by_name['disable_walk']._serialized_options = b'\030\001'
|
|
69
|
+
_globals['_COMMITLANGUAGESREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
70
|
+
_globals['_COMMITLANGUAGESREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
71
|
+
_globals['_RAWBLAMEREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
72
|
+
_globals['_RAWBLAMEREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
73
|
+
_globals['_LASTCOMMITFORPATHREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
74
|
+
_globals['_LASTCOMMITFORPATHREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
75
|
+
_globals['_LISTLASTCOMMITSFORTREEREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
76
|
+
_globals['_LISTLASTCOMMITSFORTREEREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
77
|
+
_globals['_LISTLASTCOMMITSFORTREEREQUEST'].fields_by_name['literal_pathspec']._loaded_options = None
|
|
78
|
+
_globals['_LISTLASTCOMMITSFORTREEREQUEST'].fields_by_name['literal_pathspec']._serialized_options = b'\030\001'
|
|
79
|
+
_globals['_COMMITSBYMESSAGEREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
80
|
+
_globals['_COMMITSBYMESSAGEREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
81
|
+
_globals['_FILTERSHASWITHSIGNATURESREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
82
|
+
_globals['_FILTERSHASWITHSIGNATURESREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
83
|
+
_globals['_GETCOMMITSIGNATURESREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
84
|
+
_globals['_GETCOMMITSIGNATURESREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
85
|
+
_globals['_GETCOMMITMESSAGESREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
86
|
+
_globals['_GETCOMMITMESSAGESREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
87
|
+
_globals['_CHECKOBJECTSEXISTREQUEST'].fields_by_name['repository']._loaded_options = None
|
|
88
|
+
_globals['_CHECKOBJECTSEXISTREQUEST'].fields_by_name['repository']._serialized_options = b'\230\306,\001'
|
|
89
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListCommits']._loaded_options = None
|
|
90
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListCommits']._serialized_options = b'\372\227(\002\010\002'
|
|
91
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListAllCommits']._loaded_options = None
|
|
92
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListAllCommits']._serialized_options = b'\372\227(\002\010\002'
|
|
93
|
+
_globals['_COMMITSERVICE'].methods_by_name['CommitIsAncestor']._loaded_options = None
|
|
94
|
+
_globals['_COMMITSERVICE'].methods_by_name['CommitIsAncestor']._serialized_options = b'\372\227(\002\010\002'
|
|
95
|
+
_globals['_COMMITSERVICE'].methods_by_name['TreeEntry']._loaded_options = None
|
|
96
|
+
_globals['_COMMITSERVICE'].methods_by_name['TreeEntry']._serialized_options = b'\372\227(\002\010\002'
|
|
97
|
+
_globals['_COMMITSERVICE'].methods_by_name['CountCommits']._loaded_options = None
|
|
98
|
+
_globals['_COMMITSERVICE'].methods_by_name['CountCommits']._serialized_options = b'\372\227(\002\010\002'
|
|
99
|
+
_globals['_COMMITSERVICE'].methods_by_name['CountDivergingCommits']._loaded_options = None
|
|
100
|
+
_globals['_COMMITSERVICE'].methods_by_name['CountDivergingCommits']._serialized_options = b'\372\227(\002\010\002'
|
|
101
|
+
_globals['_COMMITSERVICE'].methods_by_name['GetTreeEntries']._loaded_options = None
|
|
102
|
+
_globals['_COMMITSERVICE'].methods_by_name['GetTreeEntries']._serialized_options = b'\372\227(\002\010\002'
|
|
103
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListFiles']._loaded_options = None
|
|
104
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListFiles']._serialized_options = b'\372\227(\002\010\002'
|
|
105
|
+
_globals['_COMMITSERVICE'].methods_by_name['FindCommit']._loaded_options = None
|
|
106
|
+
_globals['_COMMITSERVICE'].methods_by_name['FindCommit']._serialized_options = b'\372\227(\002\010\002'
|
|
107
|
+
_globals['_COMMITSERVICE'].methods_by_name['CommitStats']._loaded_options = None
|
|
108
|
+
_globals['_COMMITSERVICE'].methods_by_name['CommitStats']._serialized_options = b'\372\227(\002\010\002'
|
|
109
|
+
_globals['_COMMITSERVICE'].methods_by_name['FindAllCommits']._loaded_options = None
|
|
110
|
+
_globals['_COMMITSERVICE'].methods_by_name['FindAllCommits']._serialized_options = b'\372\227(\002\010\002'
|
|
111
|
+
_globals['_COMMITSERVICE'].methods_by_name['FindCommits']._loaded_options = None
|
|
112
|
+
_globals['_COMMITSERVICE'].methods_by_name['FindCommits']._serialized_options = b'\372\227(\002\010\002'
|
|
113
|
+
_globals['_COMMITSERVICE'].methods_by_name['CommitLanguages']._loaded_options = None
|
|
114
|
+
_globals['_COMMITSERVICE'].methods_by_name['CommitLanguages']._serialized_options = b'\372\227(\002\010\001'
|
|
115
|
+
_globals['_COMMITSERVICE'].methods_by_name['RawBlame']._loaded_options = None
|
|
116
|
+
_globals['_COMMITSERVICE'].methods_by_name['RawBlame']._serialized_options = b'\372\227(\002\010\002'
|
|
117
|
+
_globals['_COMMITSERVICE'].methods_by_name['LastCommitForPath']._loaded_options = None
|
|
118
|
+
_globals['_COMMITSERVICE'].methods_by_name['LastCommitForPath']._serialized_options = b'\372\227(\002\010\002'
|
|
119
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListLastCommitsForTree']._loaded_options = None
|
|
120
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListLastCommitsForTree']._serialized_options = b'\372\227(\002\010\002'
|
|
121
|
+
_globals['_COMMITSERVICE'].methods_by_name['CommitsByMessage']._loaded_options = None
|
|
122
|
+
_globals['_COMMITSERVICE'].methods_by_name['CommitsByMessage']._serialized_options = b'\372\227(\002\010\002'
|
|
123
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListCommitsByOid']._loaded_options = None
|
|
124
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListCommitsByOid']._serialized_options = b'\372\227(\002\010\002'
|
|
125
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListCommitsByRefName']._loaded_options = None
|
|
126
|
+
_globals['_COMMITSERVICE'].methods_by_name['ListCommitsByRefName']._serialized_options = b'\372\227(\002\010\002'
|
|
127
|
+
_globals['_COMMITSERVICE'].methods_by_name['FilterShasWithSignatures']._loaded_options = None
|
|
128
|
+
_globals['_COMMITSERVICE'].methods_by_name['FilterShasWithSignatures']._serialized_options = b'\372\227(\002\010\002'
|
|
129
|
+
_globals['_COMMITSERVICE'].methods_by_name['GetCommitSignatures']._loaded_options = None
|
|
130
|
+
_globals['_COMMITSERVICE'].methods_by_name['GetCommitSignatures']._serialized_options = b'\372\227(\002\010\002'
|
|
131
|
+
_globals['_COMMITSERVICE'].methods_by_name['GetCommitMessages']._loaded_options = None
|
|
132
|
+
_globals['_COMMITSERVICE'].methods_by_name['GetCommitMessages']._serialized_options = b'\372\227(\002\010\002'
|
|
133
|
+
_globals['_COMMITSERVICE'].methods_by_name['CheckObjectsExist']._loaded_options = None
|
|
134
|
+
_globals['_COMMITSERVICE'].methods_by_name['CheckObjectsExist']._serialized_options = b'\372\227(\002\010\002'
|
|
135
|
+
_globals['_LISTCOMMITSREQUEST']._serialized_start=98
|
|
136
|
+
_globals['_LISTCOMMITSREQUEST']._serialized_end=595
|
|
137
|
+
_globals['_LISTCOMMITSREQUEST_ORDER']._serialized_start=558
|
|
138
|
+
_globals['_LISTCOMMITSREQUEST_ORDER']._serialized_end=595
|
|
139
|
+
_globals['_LISTCOMMITSRESPONSE']._serialized_start=597
|
|
140
|
+
_globals['_LISTCOMMITSRESPONSE']._serialized_end=654
|
|
141
|
+
_globals['_LISTALLCOMMITSREQUEST']._serialized_start=656
|
|
142
|
+
_globals['_LISTALLCOMMITSREQUEST']._serialized_end=781
|
|
143
|
+
_globals['_LISTALLCOMMITSRESPONSE']._serialized_start=783
|
|
144
|
+
_globals['_LISTALLCOMMITSRESPONSE']._serialized_end=843
|
|
145
|
+
_globals['_COMMITSTATSREQUEST']._serialized_start=845
|
|
146
|
+
_globals['_COMMITSTATSREQUEST']._serialized_end=929
|
|
147
|
+
_globals['_COMMITSTATSRESPONSE']._serialized_start=931
|
|
148
|
+
_globals['_COMMITSTATSRESPONSE']._serialized_end=1018
|
|
149
|
+
_globals['_COMMITISANCESTORREQUEST']._serialized_start=1020
|
|
150
|
+
_globals['_COMMITISANCESTORREQUEST']._serialized_end=1130
|
|
151
|
+
_globals['_COMMITISANCESTORRESPONSE']._serialized_start=1132
|
|
152
|
+
_globals['_COMMITISANCESTORRESPONSE']._serialized_end=1173
|
|
153
|
+
_globals['_TREEENTRYREQUEST']._serialized_start=1176
|
|
154
|
+
_globals['_TREEENTRYREQUEST']._serialized_end=1305
|
|
155
|
+
_globals['_TREEENTRYRESPONSE']._serialized_start=1308
|
|
156
|
+
_globals['_TREEENTRYRESPONSE']._serialized_end=1489
|
|
157
|
+
_globals['_TREEENTRYRESPONSE_OBJECTTYPE']._serialized_start=1436
|
|
158
|
+
_globals['_TREEENTRYRESPONSE_OBJECTTYPE']._serialized_end=1489
|
|
159
|
+
_globals['_COUNTCOMMITSREQUEST']._serialized_start=1492
|
|
160
|
+
_globals['_COUNTCOMMITSREQUEST']._serialized_end=1779
|
|
161
|
+
_globals['_COUNTCOMMITSRESPONSE']._serialized_start=1781
|
|
162
|
+
_globals['_COUNTCOMMITSRESPONSE']._serialized_end=1818
|
|
163
|
+
_globals['_COUNTDIVERGINGCOMMITSREQUEST']._serialized_start=1821
|
|
164
|
+
_globals['_COUNTDIVERGINGCOMMITSREQUEST']._serialized_end=1960
|
|
165
|
+
_globals['_COUNTDIVERGINGCOMMITSRESPONSE']._serialized_start=1962
|
|
166
|
+
_globals['_COUNTDIVERGINGCOMMITSRESPONSE']._serialized_end=2034
|
|
167
|
+
_globals['_TREEENTRY']._serialized_start=2037
|
|
168
|
+
_globals['_TREEENTRY']._serialized_end=2232
|
|
169
|
+
_globals['_TREEENTRY_ENTRYTYPE']._serialized_start=2173
|
|
170
|
+
_globals['_TREEENTRY_ENTRYTYPE']._serialized_end=2216
|
|
171
|
+
_globals['_GETTREEENTRIESREQUEST']._serialized_start=2235
|
|
172
|
+
_globals['_GETTREEENTRIESREQUEST']._serialized_end=2528
|
|
173
|
+
_globals['_GETTREEENTRIESREQUEST_SORTBY']._serialized_start=2490
|
|
174
|
+
_globals['_GETTREEENTRIESREQUEST_SORTBY']._serialized_end=2528
|
|
175
|
+
_globals['_GETTREEENTRIESRESPONSE']._serialized_start=2530
|
|
176
|
+
_globals['_GETTREEENTRIESRESPONSE']._serialized_end=2643
|
|
177
|
+
_globals['_GETTREEENTRIESERROR']._serialized_start=2645
|
|
178
|
+
_globals['_GETTREEENTRIESERROR']._serialized_end=2764
|
|
179
|
+
_globals['_LISTFILESREQUEST']._serialized_start=2766
|
|
180
|
+
_globals['_LISTFILESREQUEST']._serialized_end=2848
|
|
181
|
+
_globals['_LISTFILESRESPONSE']._serialized_start=2850
|
|
182
|
+
_globals['_LISTFILESRESPONSE']._serialized_end=2884
|
|
183
|
+
_globals['_FINDCOMMITREQUEST']._serialized_start=2886
|
|
184
|
+
_globals['_FINDCOMMITREQUEST']._serialized_end=2987
|
|
185
|
+
_globals['_FINDCOMMITRESPONSE']._serialized_start=2989
|
|
186
|
+
_globals['_FINDCOMMITRESPONSE']._serialized_end=3044
|
|
187
|
+
_globals['_LISTCOMMITSBYOIDREQUEST']._serialized_start=3046
|
|
188
|
+
_globals['_LISTCOMMITSBYOIDREQUEST']._serialized_end=3130
|
|
189
|
+
_globals['_LISTCOMMITSBYOIDRESPONSE']._serialized_start=3132
|
|
190
|
+
_globals['_LISTCOMMITSBYOIDRESPONSE']._serialized_end=3194
|
|
191
|
+
_globals['_LISTCOMMITSBYREFNAMEREQUEST']._serialized_start=3196
|
|
192
|
+
_globals['_LISTCOMMITSBYREFNAMEREQUEST']._serialized_end=3290
|
|
193
|
+
_globals['_LISTCOMMITSBYREFNAMERESPONSE']._serialized_start=3293
|
|
194
|
+
_globals['_LISTCOMMITSBYREFNAMERESPONSE']._serialized_end=3470
|
|
195
|
+
_globals['_LISTCOMMITSBYREFNAMERESPONSE_COMMITFORREF']._serialized_start=3397
|
|
196
|
+
_globals['_LISTCOMMITSBYREFNAMERESPONSE_COMMITFORREF']._serialized_end=3464
|
|
197
|
+
_globals['_FINDALLCOMMITSREQUEST']._serialized_start=3473
|
|
198
|
+
_globals['_FINDALLCOMMITSREQUEST']._serialized_end=3684
|
|
199
|
+
_globals['_FINDALLCOMMITSREQUEST_ORDER']._serialized_start=558
|
|
200
|
+
_globals['_FINDALLCOMMITSREQUEST_ORDER']._serialized_end=595
|
|
201
|
+
_globals['_FINDALLCOMMITSRESPONSE']._serialized_start=3686
|
|
202
|
+
_globals['_FINDALLCOMMITSRESPONSE']._serialized_end=3746
|
|
203
|
+
_globals['_FINDCOMMITSREQUEST']._serialized_start=3749
|
|
204
|
+
_globals['_FINDCOMMITSREQUEST']._serialized_end=4304
|
|
205
|
+
_globals['_FINDCOMMITSREQUEST_ORDER']._serialized_start=558
|
|
206
|
+
_globals['_FINDCOMMITSREQUEST_ORDER']._serialized_end=585
|
|
207
|
+
_globals['_FINDCOMMITSRESPONSE']._serialized_start=4306
|
|
208
|
+
_globals['_FINDCOMMITSRESPONSE']._serialized_end=4363
|
|
209
|
+
_globals['_FINDCOMMITSERROR']._serialized_start=4366
|
|
210
|
+
_globals['_FINDCOMMITSERROR']._serialized_end=4552
|
|
211
|
+
_globals['_COMMITLANGUAGESREQUEST']._serialized_start=4554
|
|
212
|
+
_globals['_COMMITLANGUAGESREQUEST']._serialized_end=4642
|
|
213
|
+
_globals['_COMMITLANGUAGESRESPONSE']._serialized_start=4645
|
|
214
|
+
_globals['_COMMITLANGUAGESRESPONSE']._serialized_end=4841
|
|
215
|
+
_globals['_COMMITLANGUAGESRESPONSE_LANGUAGE']._serialized_start=4733
|
|
216
|
+
_globals['_COMMITLANGUAGESRESPONSE_LANGUAGE']._serialized_end=4841
|
|
217
|
+
_globals['_RAWBLAMEREQUEST']._serialized_start=4844
|
|
218
|
+
_globals['_RAWBLAMEREQUEST']._serialized_end=4985
|
|
219
|
+
_globals['_RAWBLAMERESPONSE']._serialized_start=4987
|
|
220
|
+
_globals['_RAWBLAMERESPONSE']._serialized_end=5019
|
|
221
|
+
_globals['_RAWBLAMEERROR']._serialized_start=5022
|
|
222
|
+
_globals['_RAWBLAMEERROR']._serialized_end=5476
|
|
223
|
+
_globals['_RAWBLAMEERROR_OUTOFRANGEERROR']._serialized_start=5322
|
|
224
|
+
_globals['_RAWBLAMEERROR_OUTOFRANGEERROR']._serialized_end=5361
|
|
225
|
+
_globals['_RAWBLAMEERROR_INVALIDIGNOREREVSFORMATERROR']._serialized_start=5363
|
|
226
|
+
_globals['_RAWBLAMEERROR_INVALIDIGNOREREVSFORMATERROR']._serialized_end=5410
|
|
227
|
+
_globals['_RAWBLAMEERROR_RESOLVEIGNOREREVSERROR']._serialized_start=5412
|
|
228
|
+
_globals['_RAWBLAMEERROR_RESOLVEIGNOREREVSERROR']._serialized_end=5467
|
|
229
|
+
_globals['_LASTCOMMITFORPATHREQUEST']._serialized_start=5479
|
|
230
|
+
_globals['_LASTCOMMITFORPATHREQUEST']._serialized_end=5656
|
|
231
|
+
_globals['_LASTCOMMITFORPATHRESPONSE']._serialized_start=5658
|
|
232
|
+
_globals['_LASTCOMMITFORPATHRESPONSE']._serialized_end=5720
|
|
233
|
+
_globals['_LISTLASTCOMMITSFORTREEREQUEST']._serialized_start=5723
|
|
234
|
+
_globals['_LISTLASTCOMMITSFORTREEREQUEST']._serialized_end=5940
|
|
235
|
+
_globals['_LISTLASTCOMMITSFORTREERESPONSE']._serialized_start=5943
|
|
236
|
+
_globals['_LISTLASTCOMMITSFORTREERESPONSE']._serialized_end=6130
|
|
237
|
+
_globals['_LISTLASTCOMMITSFORTREERESPONSE_COMMITFORTREE']._serialized_start=6048
|
|
238
|
+
_globals['_LISTLASTCOMMITSFORTREERESPONSE_COMMITFORTREE']._serialized_end=6130
|
|
239
|
+
_globals['_COMMITSBYMESSAGEREQUEST']._serialized_start=6133
|
|
240
|
+
_globals['_COMMITSBYMESSAGEREQUEST']._serialized_end=6329
|
|
241
|
+
_globals['_COMMITSBYMESSAGERESPONSE']._serialized_start=6331
|
|
242
|
+
_globals['_COMMITSBYMESSAGERESPONSE']._serialized_end=6393
|
|
243
|
+
_globals['_FILTERSHASWITHSIGNATURESREQUEST']._serialized_start=6395
|
|
244
|
+
_globals['_FILTERSHASWITHSIGNATURESREQUEST']._serialized_end=6488
|
|
245
|
+
_globals['_FILTERSHASWITHSIGNATURESRESPONSE']._serialized_start=6490
|
|
246
|
+
_globals['_FILTERSHASWITHSIGNATURESRESPONSE']._serialized_end=6538
|
|
247
|
+
_globals['_GETCOMMITSIGNATURESREQUEST']._serialized_start=6540
|
|
248
|
+
_globals['_GETCOMMITSIGNATURESREQUEST']._serialized_end=6634
|
|
249
|
+
_globals['_GETCOMMITSIGNATURESRESPONSE']._serialized_start=6637
|
|
250
|
+
_globals['_GETCOMMITSIGNATURESRESPONSE']._serialized_end=6934
|
|
251
|
+
_globals['_GETCOMMITSIGNATURESRESPONSE_SIGNER']._serialized_start=6866
|
|
252
|
+
_globals['_GETCOMMITSIGNATURESRESPONSE_SIGNER']._serialized_end=6934
|
|
253
|
+
_globals['_GETCOMMITMESSAGESREQUEST']._serialized_start=6936
|
|
254
|
+
_globals['_GETCOMMITMESSAGESREQUEST']._serialized_end=7028
|
|
255
|
+
_globals['_GETCOMMITMESSAGESRESPONSE']._serialized_start=7030
|
|
256
|
+
_globals['_GETCOMMITMESSAGESRESPONSE']._serialized_end=7093
|
|
257
|
+
_globals['_CHECKOBJECTSEXISTREQUEST']._serialized_start=7095
|
|
258
|
+
_globals['_CHECKOBJECTSEXISTREQUEST']._serialized_end=7186
|
|
259
|
+
_globals['_CHECKOBJECTSEXISTRESPONSE']._serialized_start=7189
|
|
260
|
+
_globals['_CHECKOBJECTSEXISTRESPONSE']._serialized_end=7339
|
|
261
|
+
_globals['_CHECKOBJECTSEXISTRESPONSE_REVISIONEXISTENCE']._serialized_start=7290
|
|
262
|
+
_globals['_CHECKOBJECTSEXISTRESPONSE_REVISIONEXISTENCE']._serialized_end=7339
|
|
263
|
+
_globals['_COMMITSERVICE']._serialized_start=7342
|
|
264
|
+
_globals['_COMMITSERVICE']._serialized_end=9503
|
|
265
|
+
# @@protoc_insertion_point(module_scope)
|