VGit

Documentation
Source

The responsibilities of the five Rust modules and the local quality gate.

Native architecture and validation

Module map

ModuleResponsibility
main.rs Window, workspace views, tabs, commands, and repository state.
git.rs Git command execution, parsers, status, diffs, refs, and mutations.
graph.rs Lane assignment, edge geometry, and commit-graph painting.
input.rs Unicode text editing, selection, clipboard, and native composition.
theme.rs Dark/light palettes and shared visual primitives.

Validation commands

cargo fmt --manifest-path native/Cargo.toml --check
cargo clippy --locked --manifest-path native/Cargo.toml --all-targets -- -D warnings
cargo test --locked --manifest-path native/Cargo.toml

Tests exercise graph lanes and edges, diff hunks, source-tree construction, sidebar sizing, and Git operations against temporary repositories. Fetch and push tests use a local bare remote and need no network.

Not yet implemented

  • Conflict resolution, line/hunk staging, and interactive rebase.
  • Branch deletion, tag creation, remote management, and history search.
  • Persistent settings, recent repositories, progress for long network operations, and multiline commit editing.
  • Reflog recovery, worktrees, submodules, Git LFS, provider pull requests, signed releases, and broader accessibility refinement.