Coverage for src / rhiza / models / _git / _base.py: 100%
3 statements
« prev ^ index » next coverage.py v7.14.0, created at 2026-07-16 12:51 +0000
« prev ^ index » next coverage.py v7.14.0, created at 2026-07-16 12:51 +0000
1"""Shared attribute declarations for the :class:`GitContext` mixins.
3The git engine is split across focused mixin modules (:mod:`remote`,
4:mod:`diff`, :mod:`merge`) that are composed into the concrete
5:class:`~rhiza.models._git.context.GitContext` dataclass. Each mixin needs to
6reference ``self.executable`` and ``self.env``; declaring them once here gives
7the type checker a single source of truth while the real fields live on the
8concrete dataclass.
9"""
12class GitContextBase:
13 """Declares the attributes every git mixin relies on.
15 Attributes:
16 executable: Absolute path to the git binary.
17 env: Environment variables passed to every git subprocess.
18 """
20 executable: str
21 env: dict[str, str]