Skip to content

Commit 8170cb6

Browse files
cliffhallclaude
andauthored
refactor(git): remove the unreachable list_repos helper
list_repos (and its by_roots/by_commandline helpers) was defined inside serve() and never called, so nothing ever sent roots/list. Deleting it is behavior-preserving; the now-unused imports go with it. Part of #4855 Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: cliffhall <[email protected]>
1 parent 0cc1baf commit 8170cb6

1 file changed

Lines changed: 1 addition & 38 deletions

File tree

‎src/git/src/mcp_server_git/server.py‎

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
import logging
22
from pathlib import Path
3-
from typing import Any, Optional, Sequence
3+
from typing import Any, Optional
44
from mcp.server import Server
5-
from mcp.server.session import ServerSession
65
from mcp.server.stdio import stdio_server
76
from mcp.types import (
8-
ClientCapabilities,
97
TextContent,
108
Tool,
11-
ListRootsResult,
12-
RootsCapability,
139
ToolAnnotations,
1410
)
1511
from enum import Enum
@@ -480,39 +476,6 @@ async def list_tools() -> list[Tool]:
480476
),
481477
]
482478

483-
async def list_repos() -> Sequence[str]:
484-
async def by_roots() -> Sequence[str]:
485-
if not isinstance(server.request_context.session, ServerSession):
486-
raise TypeError(
487-
"server.request_context.session must be a ServerSession"
488-
)
489-
490-
if not server.request_context.session.check_client_capability(
491-
ClientCapabilities(roots=RootsCapability())
492-
):
493-
return []
494-
495-
roots_result: ListRootsResult = (
496-
await server.request_context.session.list_roots()
497-
)
498-
logger.debug(f"Roots result: {roots_result}")
499-
repo_paths = []
500-
for root in roots_result.roots:
501-
path = root.uri.path
502-
try:
503-
git.Repo(path)
504-
repo_paths.append(str(path))
505-
except git.InvalidGitRepositoryError:
506-
pass
507-
return repo_paths
508-
509-
def by_commandline() -> Sequence[str]:
510-
return [str(repository)] if repository is not None else []
511-
512-
cmd_repos = by_commandline()
513-
root_repos = await by_roots()
514-
return [*root_repos, *cmd_repos]
515-
516479
@server.call_tool()
517480
async def call_tool(name: str, arguments: dict) -> list[TextContent]:
518481
repo_path = Path(arguments["repo_path"])

0 commit comments

Comments
 (0)