mygit

[UNMAINTAINED] A cgit/webgit alternative, written in Rust
Log | Files | Refs | README | LICENSE

commit 9ca38bbe2ab89b233896e0fb958d371716c93a91
parent f2aa650f78369db1e291e90ea5dab773dcd9ee7b
Author: alex wennerberg <alex@alexwennerberg.com>
Date:   Mon, 22 Mar 2021 18:47:25 -0700

Update README

Diffstat:
MREADME.md | 12+++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md @@ -1,16 +1,18 @@ # mygit -A small self-hosted git server: a Rust alternative to git-web and cgit +A small self-hosted git server; a Rust alternative to git-web and cgit -## The problem +## Background Many people want to self-host Git in order to get rid of their reliance on GitHub or other institutions. However, the options for doing this are problematic in a number of ways. There are ancient CGI programs written in C or Perl like gitolite, cgit and webgit, and there are modern programs like gitea or gitlab that are essentially GitHub clones, with a lot of unnecessary complexity for many people's use cases. -I really like [stagit](https://codemadness.org/stagit.html), but it's a bit too austere for my use case and very "suckless" philosophy: e.g. doesn't support markdown READMEs. I also really like [sourcehut](https://git.sr.ht/) but it is pretty complex to self-host a single-user instance. A lot of the design of mygit is drawn from both these sources. +I really like [stagit](https://codemadness.org/stagit.html), but it's a bit too austere for my use case and very "suckless" philosophy: e.g. doesn't support markdown READMEs. I also really like [sourcehut](https://git.sr.ht/) but it is pretty complex to self-host a single-user instance. -The simplest way to accept patches is through [git-send-email](https://git-scm.com/docs/git-send-email), so I also want to setup a mailing list archive. The simplest way to do this is via IMAP and the [public-inbox](https://public-inbox.org/README.html) model -- the mailing list does not send out messages but simply receives them. Users can use RSS/imap/web view to view the patches. This is step above the opacity of a personal email, but much, much easier to self-host than a full mailing list. +The standard old school way of self-hosting git repos is via cgit or webgit. These are fine, but they are also ancient c/perl programs (ie, not really actively developed) that rely on CGI. Their UI is also a bit busy for me. I thought it would be nice to have an austere, simple alternative built in Rust. -I am working on a sibling project to this that handles mailing list archives: +The simplest way to accept patches when hosting a Git repo in this manner is through [git-send-email](https://git-scm.com/docs/git-send-email). You can accept patches either to your personal email or use a mailing list. This is a somewhat archaic way of doing things, and definitely has some disadvantages, but it is the simplest way to accept patches when self-hosting Git. A single-user [Gitea](https://gitea.io/en-us/) instance, for example, requires that users register and you manage their user accounts. With git-send-email, users can contribute to your project without having to create another account. This may not be the easiest or most accessible way to handle your project (unquestionably, that would be just using GitHub) but IMO it's the best way to do things if you want a simple self-hosted solution. Unfortunately, not many people are familiar with git-send-email anymore (and self-hosting dramatically hurts your project discovery), so probably it only makes sense to do this if you're an ideological purist of some sort, or just want to try self-hosting some small, low-stakes projects for fun. + +I am working on a sibling project to this that handles mailing list archives for exactly this purpose: https://git.sr.ht/~aw/rusty-inbox This project is on sr.ht until I can get it self-hosted.