Skip to content
Snippets Groups Projects
Commit fee49477 authored by Georges Racinet's avatar Georges Racinet
Browse files

CommitService: issue links for all currently not implemented methods

This relies heavily on the previously introduced `not_implemented()`
helper method.

Many of these look to be short forms of `FindCommits`, probably for
bandwidth reduction, and should therefore be easy to implement.
parent 0cf4f386
No related branches found
No related tags found
No related merge requests found
Pipeline #12557 passed
......@@ -6,6 +6,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
import logging
from ..errors import not_implemented
from ..stub.commit_pb2 import (
CommitIsAncestorRequest,
CommitIsAncestorResponse,
......@@ -9,7 +10,9 @@
from ..stub.commit_pb2 import (
CommitIsAncestorRequest,
CommitIsAncestorResponse,
TreeEntryRequest,
TreeEntryResponse,
CommitsBetweenRequest,
CommitsBetweenResponse,
CountCommitsRequest,
CountCommitsResponse,
......@@ -12,6 +15,12 @@
CommitsBetweenRequest,
CommitsBetweenResponse,
CountCommitsRequest,
CountCommitsResponse,
CountDivergingCommitsRequest,
CountDivergingCommitsResponse,
GetTreeEntriesRequest,
GetTreeEntriesResponse,
ListFilesRequest,
ListFilesResponse,
FindCommitRequest,
FindCommitResponse,
......@@ -16,4 +25,8 @@
FindCommitRequest,
FindCommitResponse,
CommitStatsRequest,
CommitStatsResponse,
FindAllCommitsRequest,
FindAllCommitsResponse,
FindCommitsRequest,
FindCommitsResponse,
......@@ -18,5 +31,25 @@
FindCommitsRequest,
FindCommitsResponse,
CommitLanguagesRequest,
CommitLanguagesResponse,
RawBlameRequest,
RawBlameResponse,
LastCommitForPathRequest,
LastCommitForPathResponse,
ListLastCommitsForTreeRequest,
ListLastCommitsForTreeResponse,
CommitsByMessageRequest,
CommitsByMessageResponse,
ListCommitsByOidRequest,
ListCommitsByOidResponse,
ListCommitsByRefNameRequest,
ListCommitsByRefNameResponse,
FilterShasWithSignaturesRequest,
FilterShasWithSignaturesResponse,
GetCommitSignaturesRequest,
GetCommitSignaturesResponse,
GetCommitMessagesRequest,
GetCommitMessagesResponse,
)
from ..stub.commit_pb2_grpc import CommitServiceServicer
......@@ -40,10 +73,10 @@
child = repo[request.child_id]
return CommitIsAncestorResponse(value=ancestor.isancestorof(child))
def TreeEntry(self, request, context):
raise NotImplementedError(
"TreeEntry method not directly relevant for Mercurial"
) # pragma no cover
def TreeEntry(self, request: TreeEntryRequest,
context) -> TreeEntryResponse:
return not_implemented(context, TreeEntryResponse,
issue=16) # pragma no cover
def CommitsBetween(self,
request: CommitsBetweenRequest,
......@@ -97,6 +130,27 @@
count = max_count
return CountCommitsResponse(count=count)
def CountDivergingCommits(self,
request: CountDivergingCommitsRequest,
context) -> CountDivergingCommitsResponse:
return not_implemented(context, CountDivergingCommitsResponse,
issue=17) # pragma no cover
def GetTreeEntries(self, request: GetTreeEntriesRequest,
context) -> GetTreeEntriesResponse:
return not_implemented(context, GetTreeEntriesResponse,
issue=16) # pragma no cover
def ListFiles(self, request: ListFilesRequest,
context) -> ListFilesResponse:
return not_implemented(context, ListFilesResponse,
issue=13) # pragma no cover
def CommitStats(self, request: CommitStatsRequest,
context) -> CommitStatsResponse:
return not_implemented(context, CommitStatsResponse,
issue=18) # pragma no cover
def FindCommit(self,
request: FindCommitRequest, context) -> FindCommitResponse:
repo = self.load_repo(request.repository, context)
......@@ -107,6 +161,11 @@
commit = None if ctx is None else message.commit(ctx)
return FindCommitResponse(commit=commit)
def FindAllCommits(self, request: FindAllCommitsRequest,
context) -> FindAllCommitsResponse:
return not_implemented(context, FindAllCommitsResponse,
issue=19) # pragma no cover
def FindCommits(self, request: FindCommitsRequest,
context) -> FindCommitsResponse:
# TODO: yet to finish this method to support all lookups
......@@ -127,3 +186,55 @@
for chunk in chunked(revs):
yield FindCommitsResponse(
commits=(message.commit(repo[rev]) for rev in chunk))
def CommitLanguages(self, request: CommitLanguagesRequest,
context) -> CommitLanguagesResponse:
return not_implemented(context, CommitLanguagesResponse,
issue=12) # pragma no cover
def RawBlame(self, request: RawBlameRequest,
context) -> RawBlameResponse:
return not_implemented(context, RawBlameResponse,
issue=20) # pragma no cover
def LastCommitForPath(self,
request: LastCommitForPathRequest,
context) -> LastCommitForPathResponse:
return not_implemented(context, LastCommitForPathResponse,
issue=15) # pragma no cover
def ListLastCommitsForTree(self, request: ListLastCommitsForTreeRequest,
context) -> ListLastCommitsForTreeResponse:
return not_implemented(context, ListLastCommitsForTreeResponse,
issue=14) # pragma no cover
def CommitsByMessage(self, request: CommitsByMessageRequest,
context) -> CommitsByMessageResponse:
return not_implemented(context, CommitsByMessageResponse,
issue=21) # pragma no cover
def ListCommitsByOid(self, request: ListCommitsByOidRequest,
context) -> ListCommitsByOidResponse:
return not_implemented(context, ListCommitsByOidResponse,
issue=22) # pragma no cover
def ListCommitsByRefName(self, request: ListCommitsByRefNameRequest,
context) -> ListCommitsByRefNameResponse:
return not_implemented(context, ListCommitsByRefNameResponse,
issue=23) # pragma no cover
def FilterShasWithSignatures(self,
request: FilterShasWithSignaturesRequest,
context) -> FilterShasWithSignaturesResponse:
return not_implemented(context, FilterShasWithSignaturesResponse,
issue=24) # pragma no cover
def GetCommitSignatures(self, request: GetCommitSignaturesRequest,
context) -> GetCommitSignaturesResponse:
return not_implemented(context, GetCommitSignaturesResponse,
issue=24) # pragma no cover
def GetCommitMessages(self, request: GetCommitMessagesRequest,
context) -> GetCommitMessagesResponse:
return not_implemented(context, GetCommitMessagesResponse,
issue=25) # pragma no cover
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment