Files
e2b-dev--e2b/packages/python-sdk/e2b/sandbox/_git/config.py
T
2026-07-13 12:47:58 +08:00

33 lines
956 B
Python

from typing import Optional
from e2b.exceptions import InvalidArgumentException
def resolve_config_scope(
scope: Optional[str], path: Optional[str]
) -> tuple[str, Optional[str]]:
"""
Resolve a git config scope flag and repository path.
:param scope: Requested scope ("global", "local", "system")
:param path: Repository path for local scope
:return: Tuple of (scope flag, repository path)
"""
scope_name = (scope or "global").strip().lower()
if scope_name not in {"global", "local", "system"}:
raise InvalidArgumentException(
"Git config scope must be one of: global, local, system."
)
if scope_name == "local":
if not path:
raise InvalidArgumentException(
"Repository path is required when scope is local."
)
return "--local", path
if scope_name == "system":
return "--system", None
return "--global", None