Gittan - Git Tree Analyzer & Navigator

Hi all,

I make Gittan (Git Tree Analyzer & Navigator), a free (GPLv3) desktop git client, and it now has a Haiku build!

I’ve done some basic testing and it seems to work fine :slight_smile:

What it is

Gittan is built around the diff. You open a repository and see what you’ve changed compared to HEAD, or to any branch, tag or commit. The view updates as you save in your editor. Around that:

  • Unified or side-by-side diffs that mark the changed words within a line, with folding and syntax highlighting (from the CudaText lexer collection).

  • Blame and Code History. Blame shows who changed each line and when. Code History lays the earlier versions of the selected lines, or of the current function, under them, one color per commit. Time-lapse plays a file through every version it has had.

  • A commit graph with every branch and tag. It marks what isn’t pushed or pulled yet and filters as you type (author:, since:, path:, change: with text or a /regex/).

  • Committing, syncing and merging: tick the files to commit, skip parts of a file for later, pull/push/fetch, branches, stashes, cherry-pick, interactive rebase, bisect, a conflict view and a merge editor. Branch > Undo takes back a commit, merge, reset or deleted branch. Anything that would throw work away asks first.

  • JavaScript extensions (QuickJS-based, shipped with the app). An extension declares what it needs, and Gittan asks before loading one that wants the network, other programs or the repository. config/settings/Gittan/externsions is where you put them on Haiku - the “open folder” button does not seem to work as intended.

Gittan is written in Free Pascal with Lazarus and runs the git command line tool, so your own git config, hooks and signing all just work.

Haiku notes

  • The app is built by CI, in parallell with Windows, Linux and mac so I might not be able to test every version fully
  • You need to “pkgman install libqt6pas” git to run it
  • Except for the settings file, nothing is stored on the system outside the app folder
  • Github integration requires the gh command line
  • I just made it work under Qt6 so there might be some compability issues

Technical notes
I build with a patched FPC, as TThreadID is broken in the fpc sources so I fix that and recompile it in CI.

Feel free to have a look at www.gittan.app - download at Release 0.14 · slicke/gittan · GitHub

1 Like

1 Like

1 Like