Add restore (x): make a repository exactly what git records

Restores the selection and all submodules below it recursively, asking
only if work would be lost. May clone/fetch missing objects (D23).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-22 12:38:29 +02:00
co-authored by Claude Opus 5.5
parent a328d3cc3a
commit 7980d3356a
16 changed files with 1260 additions and 118 deletions
+4 -2
View File
@@ -111,6 +111,7 @@ files.
| `/` | Filter |
| `!` | Problems only |
| `c` | Copy path |
| `x` | Restore: make the worktree exactly what git records (asks if work would be lost) |
| `f` / `r` | Fetch / reload |
| `?` | Full help |
| `q` | Quit |
@@ -119,8 +120,9 @@ The mouse works too: click to select, click `▸` to toggle, wheel to move.
## Status
A prototype. Browsing is complete and read-only; write actions (restore,
stage pin) are being specified in [docs/actions.md](docs/actions.md).
A prototype. Browsing is complete, and `x` restores a submodule or the whole
superproject. More write actions (stage pin) are being specified in
[docs/actions.md](docs/actions.md).
## Documentation