idea: panel for git needs to be implemented in the TUI #30
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
the TUI needs to have a panel "7" that opens a sidebar for git changes and in the main content area it shows a scrollable diff of the current folder. this is to allow to manage the content sync, so it also needs to be able to pull and push and of course commit.
Implemented in
5433cb5.Key
7in the TUI opens the git panel for content sync, driven by the sameBDS.Gitbackend as the GUI git view:<code> <path>entries (M/A/D/R/U), with the current branch and ahead/behind counts in the panel title (e.g.Git [main ↑1 ↓0]).ccommit: opens a status-line prompt for the message, thengit add -A+ commit (empty messages are rejected).upull (ff-only) andspush: run off the UI process so the interface never blocks on the network; the result (or the git error output) lands as a status toast and the panel reloads.All key hints live in the status line when the panel is open. Covered by 8 tests against real git repositories (test/bds/tui_test.exs, git view describe block), spec updated (rule GitPanel in specs/tui.allium, allium check clean), all new UI strings translated for de/fr/it/es. Build, full test suite, credo, deps.audit and dialyzer are all clean.
Follow-up in
46fd6c1: the git sidebar now shows the commit history in its lower half, like the GUI — the sidebar splits 50/50 into the changed files (top, navigable) and a History panel (bottom) listing<short hash> <subject>per commit, with ↑ marking commits that still need a push and ↓ remote-only ones. The history refreshes with every panel reload, so a commit made from the panel appears immediately.