All projects

Personal project10/2026 - present

DKB Source Control

A native Git client for macOS, built to replace Sourcetree for daily work: stage exactly the lines you mean to, write commits in one consistent format and see every repository on one screen. Version 1.0.2.

DKB Source Control
Client
Personal project
Period
10/2026 - present
Built with
Swift 6SwiftUIAppKitGRDBGitFSEventsSparklemacOS

What it does

  • A dashboard of every repository: branch, ahead and behind, changed files and the last commit; refresh or fetch them all with one click.
  • Stage, unstage or discard whole files, hunks or single lines picked in the diff, with changed words marked inside a line.
  • A commit composer that builds messages in a fixed format, previews exactly what git will receive and blocks a message that breaks it.
  • A check before every commit for .env files, private keys, and API keys or passwords in the added lines; unstaging them is the default answer.
  • History of any branch or file, blame, revert, reset, cherry-pick, merges, tags and stashes.
  • Sign in to HTTPS remotes from the app: git's own credential helper saves the account in the Keychain, and the app keeps no copy.

Engineering highlights

  • Runs the git already on the Mac and parses its machine-readable output, so .gitconfig, hooks and saved accounts work exactly as in Terminal.
  • Status and refs take 21–27 ms per repository; the dashboard refreshes 12 repositories in under 0.1 s with four git processes at a time.
  • Line-by-line staging builds its own patches for git apply --cached, tested on CRLF files and files with no final newline.
  • One FSEvents stream per repository that drops events from ignored folders: a clean Xcode build inside an open repository costs the app 0.3% CPU.
  • 211 tests, all on throwaway repositories with the real git, nothing mocked.