Milestone 2 of gitr. Milestone 1 (read and visualise) is complete, see #1.
Scope: checkout of a branch, tag or commit; working copy with staged and unstaged changes; stage, unstage and discard; commit and amend; create and delete branches and tags; stash push, pop, apply and drop.
Everything mutating goes through the git subprocess runner built in #4, which already resolves PATH from the login shell. The filesystem watcher from #6 will fire on gitr's own writes, so echo suppression belongs to whichever call initiated the write — the watcher cannot tell who moved HEAD.
Also picks up the two M1 gaps that belong here: the sidebar's Working and Stashes sections currently render empty because RepositoryState loads neither.
Milestone 2 of gitr. Milestone 1 (read and visualise) is complete, see #1.
Scope: checkout of a branch, tag or commit; working copy with staged and unstaged changes; stage, unstage and discard; commit and amend; create and delete branches and tags; stash push, pop, apply and drop.
Everything mutating goes through the
gitsubprocess runner built in #4, which already resolves PATH from the login shell. The filesystem watcher from #6 will fire on gitr's own writes, so echo suppression belongs to whichever call initiated the write — the watcher cannot tell who moved HEAD.Also picks up the two M1 gaps that belong here: the sidebar's
WorkingandStashessections currently render empty becauseRepositoryStateloads neither.