Route interactive Git through native terminal sessions

Remove Kotlin interactive-add emulation and run patch add via the native Git runtime with PTY-backed session IO.
This commit is contained in:
Joe Tretter
2026-06-27 13:07:35 -05:00
parent d703f539d3
commit 943bf03ca0
19 changed files with 684 additions and 549 deletions

View File

@@ -12,6 +12,7 @@ data class GitFile(
val staged: Boolean = false,
val tracked: Boolean = false,
val deleted: Boolean = false,
val stagedContent: String? = null,
)
data class CommitNode(
@@ -21,11 +22,9 @@ data class CommitNode(
val parentCount: Int = 0,
)
data class InteractiveAddSession(
val target: String? = null,
val awaitingUpdateSelection: Boolean = false,
val selectionPrompt: String = "Update>>",
val selectionAction: String = "update",
data class NativeGitSession(
val id: Int,
val command: String,
)
data class RepoState(
@@ -45,7 +44,7 @@ data class RepoState(
val pushedTags: Set<String> = emptySet(),
val submodules: Map<String, String> = emptyMap(),
val maintenanceActions: Set<String> = emptySet(),
val interactiveAddSession: InteractiveAddSession? = null,
val nativeGitSession: NativeGitSession? = null,
)
data class Level(