Open
Description
A minimal replacement for how I use tig
, with an architecture that…
- never block the main thread
- is testable
- allows for replacement of the actual UI, allowing application logic to be reused in the browser or with Tauri, for example
Scope
- display a single branch only, as a flat list
- display refs
- an easy way to copy the hash of the selected commit
- display the total amount of commits
- jump to the beginning of history and the latest commit
- cancel long-running processes
- display progress of long-running processes
Performance
- display history instantly on the linux kernel
- use way less than 1.5GB of memory after jumping to the beginning of history
- see how close it gets to
/usr/bin/time -lp zsh -i -c 'glo > /dev/null'
(about 8s, 280MB heap size, 1GB incl. virtual)
Implementation
- The
git-tix
crate is a library for a binary gitoxide
provides thetix
binary using thegit-tix
crate as implementation