add git support

This mostly provides an abstraction for "ephemeral worktrees", which
is a branch checked out in a worktree, to be read and maybe modified,
and the worktree is deleted/pruned when we're done with it.

There are also some helper functions for doing git things, the most
important one creates an orphaned branch.

The intent is to keep all the issues in a git branch.  When we want to
do anything with issues (list them, add new issues, modify an issue,
etc) we check the issues branch out into an ephemeral worktree, modify
the branch, and delete the worktree.
This commit is contained in:
Sebastian Kuzminsky 2025-07-04 13:07:10 -06:00
parent d94c991eaa
commit e8910b906a
3 changed files with 203 additions and 0 deletions

View file

@ -4,6 +4,8 @@ version = "0.1.0"
edition = "2024"
[dependencies]
rand = "0.9.1"
serde = { version = "1.0.217", features = ["derive"] }
tempfile = "3.20.0"
thiserror = "2.0.11"
toml = "0.8.19"