Skip to content

v0.1.0 — first public release

Choose a tag to compare

@escherlies escherlies released this 09 Sep 17:25
· 25 commits to main since this release
v0.1.0
8d52f68

First public release of git-graph — a local git commit-graph viewer. Point
it at a folder of projects and read their history in a browser: lanes, merges,
ref pills, diffs, and uncommitted changes.

Run it

nix run github:binaryplease/git-graph            # serve the repos under the cwd
nix run github:binaryplease/git-graph -- ~/src   # serve a specific folder

From source with Bun: bun install && bun run build && bun run cli -- ~/src.

In this release

  • Commit graph — pvigier's active-lane sweep, the algorithm behind
    mhutchie/vscode-git-graph, GitLens and GitKraken: branch tips, n-parent
    merges, lane reuse, octopus merges, root commits, disconnected histories.
  • Diffs — a commit's changed files inline or in a docked sidebar, plus
    standalone tabs for one file, a whole commit, a branch against a base, and
    the working tree (uncommitted changes vs HEAD).
  • Repository picker with fuzzy search over the served root.
  • Light / dark / system theme, persisted.
  • bgg CLI — serve in the foreground or a background daemon, with
    dynamic port allocation in front of the bind.
  • Nix flake — the bgg package, a dev shell, and a hardened
    services.git-graph NixOS module.

Security posture

It is a local-machine service with no authentication: the loopback bind is
the access control. Binding a non-loopback address is a fatal startup error
unless you set GIT_GRAPH_ALLOWED_HOSTS, which asserts that an authenticating
reverse proxy fronts it. See SECURITY.md.

MIT licensed. 170 tests, bun test.