| 81 | |
| 82 | @dataclass(frozen=True) |
| 83 | class PreBranchState: |
| 84 | # NB: these do not necessarily coincide with head/base branches. |
| 85 | # In particular, in direct mode, the base commit will typically be |
| 86 | # another head branch, or the upstream main branch itself. |
| 87 | base_commit_id: GitCommitHash |
| 88 | head_commit_id: GitCommitHash |
| 89 | |
| 90 | |
| 91 | # Ya, sometimes we get carriage returns. Crazy right? |