What the Rust/GPUI rewrite exposes and what it deliberately protects.
A repository map with working controls
One workspace, four kinds of state
- History shows commits, lanes, merge edges, refs, authors, messages, and times.
- Changes distinguishes the working tree from the index, including partially staged files.
- The source tree opens current file contents while change rows open diffs.
- Repository controls expose fetch, fast-forward-only pull, push, and guarded history mutations.
The current implementation is native Rust
VGit was rewritten from Electron/React/TypeScript to Rust with GPUI. The previous implementation remains only in Git history. Repository reads and mutations now flow through the native Git layer in native/src/git.rs.
Destructive operations announce their cost
Hard reset, file discard, clean, stash drop, and amend require confirmation that names what will be lost. Pull is fast-forward only, so the application does not silently introduce merge commits.