-
There are some hints regarding email clients here: https://github.com/torvalds/linux/blob/master/Documentation/...
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
For those that don't have an MUA, I have made https://github.com/djha-skin/git-receive-mail . It really is very doable these days to do the email workflow, on both ends.
-
I once explored doing just that: https://github.com/nhanb/boast
However I never got around to finishing it, mainly because I couldn't decide on where to stop: should I also generate commits from all non-master branch etc.
I flirted with the idea of a browser-only repo viewer too, but re-implementing git packfile parsing in js didn't seem like something I'd want to spend my time on, so I moved on. Glad to see others pondering the same thing though.
-
On the topic of format patch and send email: I’ve been slowly working on an ssh app that would replace send-email along with some other ideas surrounding collaboration over at: https://github.com/picosh/git-pr
-
libgit2
A cross-platform, linkable library implementation of Git that you can use in your application.
That does get intense pretty quickly, if you're generating a source and commit/diff pages for every file * every commit. Probably just single commits would make the most sense and then a source browser for each branch.
That said, JavaScript libgit2 is totally a thing [1], so doing it "properly" in a client app is totally possible.
[1]: https://github.com/libgit2/libgit2/issues/4376
-
ssh-git-hosting
Host multiple repos on a dedicated ssh server using linux perms to provide read-write and read-only (for deploy keys) access.
I ran a ssh server for a while to store git repositories. We had some with secrets in and I didn't want them on github. I needed to provide read only access and read write access for only some of the repos. I ended up with a bash script that configure system users and groups and permissions to do the job. It's here:
https://github.com/artumi-richard/ssh-git-hosting
I stopped using it years ago. It had the additional advantage of no artificial limits (file sizes etc).