Lignum
A source code repository visualiser with a 1,000’ view.
I wasn’t satisfied with the state of Git repository visualisers. I found they love to show you every last commit. When your repo is more than trivial, this is not useful for getting the big-picture.
Mine is different: it focusses on the macroscopic structure. Which are the active branches, where are the tags, where are the divergence and merge points?
In my first software job out of college – back when dinosaurs roamed the earth and CVS was the height of version control – we often ended up drawing what we termed railway diagrams on the whiteboard to visualise the structure. This is my attempt to automate creating these.
Features
- Output in GraphViz
dotformat - Revision of interest filtering, with wildcards
- Options to include all local branches (default), remotes, tags and root (parentless) commits
- Edges are annotated with their size in commits (broadly the number on the direct line from A to B, though merge commits give different results)
Getting started
This is a Rust command-line application.
cargo install --locked lignum, or get it from the source repository.
Run lignum in a directory that contains a git repository, or give it --repo <path>.
If you have xdot installed, the -x option will pipe the output directly to xdot.
Check the --help message for more.