~gioverse/gitkit

Toolkit to make git send-email fun again!
gitkit: merge in apply tool
gitkit: symlink to some directory on path
gitkit: integrate review subcommand

You can also use your local clone with git send-email.

#gitkit

# Install gitkit tools to the system path. (gitkit install may require sudo)
go install git.sr.ht/~gioverse/gitkit@latest && gitkit install

gitkit is a prototypical toolkit for git designed to streamline common git workflows, with a hint of unix philopshy and a dash of orthogonal integration.

The idea was spawned as response to the lack luster tools regarding "git over email", aka git send-email, mailing lists and patchsets. It took the form of several lightweight GUI programs that do one thing well and respect the command line.

This repo aims to coalesce these complimentary experiments into a single toolkit that will make using git over email a pleasure.

Development and feature set will be focused on SourceHut's git-over-email workflow.

#tool review

Review is a gui tool for reviewing git patches over plaintext email.

It exists for the moment as a primitive tool that downloads and parses a SourceHut mbox. It quotes each commit and opens an editor so you can start leaving inline feedback.

Features like syntax highlighting, and a Gitlab/Github style inline comment are loosely planned.

#tool apply

A tool for applying sourcehut-hosted patchsets to local repos. It also supports sending the mbox URL of a patchset on stdout, allowing for composition with other tools like review.

Set SRHT_TOKEN to a Personal Access Token for sourcehut.

Alternatively, set SRHT_ASK_TOKEN to a command that will produce your token on stdout when executed. This allows easy integration with password managers. If using pass, export SRHT_ASK_TOKEN="pass tokens/srht" or similar should suffice. Add that to your shell initialization to make it persistent.

In your terminal, navigate to a repo that you want to patch.

Make sure that you've set git config --local sendemail.to to the address of the srht mailing list for the repo.

Then, just apply.