4 ms·
Gitea is a great piece of software. In fact, when starting out with self hosting, I found it to be a very capable solution with a small footprint. Over time I
by hrbf 4y ago
Gitea is a great piece of software. In fact, when starting out with self hosting, I found it to be a very capable solution with a small footprint.
Over time I realized: I don’t need to be able to merge pull requests and do code reviews in a web interface. Nowadays I’m invested in a plain Git/SSH setup with cgit as a web frontend and email patches.
It never breaks, is as secure as your server is and does everything you usually need, including user permissions.
The `git am`-based workflow is less than popular outside of FreeBSD, Linux kernel development and SourceHut though. Depending on your environment, if used in a work setting, your colleagues may balk.
That being said and given the existing enterprise users of Gitea, it’s entirely natural to eventually offer solutions tailored to their use, like SSO. I wish them the best for building towards a sustainable future while staying true to their core values.
- e3bc54b2 4y agoI agree. I can't even remember why I was so scared of trying out email + path workflow, but after trying it for just 1 time I was convinced. It is so obviously good way to manage patches, you get a unified interface to bugs, patches, communication and everything in-between. I can understand some folks not wanting to do initial setup and sourcehut already provides a nice web interface for it. But for actually contributing stuff emails are pretty unbeatable IMO.
- Dave3of5 4y agoHow do you setup a plain git server is there a step by step anywhere I could follow ?
- hrbf 4y agoFunny you should ask. I had actually written this up back then – for a FreeBSD install because it’s what I use. https://herrbischoff.com/2021/10/how-to-install-cgit-with-gitolite-and-nginx-on-freebsd-13/ https://herrbischoff.com/2021/10/how-to-install-cgit-with-gi... I’ve also tripped over something regarding “master” and “main” branches that’s easily fixed: https://herrbischoff.com/2022/05/cgit-missing-idle-column-on-some-repositories/ https://herrbischoff.com/2022/05/cgit-missing-idle-column-on... If you want it even simpler, just run mkdir repo.git && cd repo.git git init —bare in a folder on a server you have SSH access to and clone it on your local machine like git clone user@server:/path/to/repo.git
- deleted 4y ago[deleted]
- mdaniel 4y agoDoesn't that only work for single user setups, since a `git push` run from some else's machine could concurrently modify that repo.git directory?
- hrbf 4y agoThe manual bare repo setup obviously offers no user access management beyond what the system's SSH configuration provides. Beyond that, a bare repository is actually an essential Git feature and what software like Gitea and even GitHub uses behind the scenes. Given all users can share a user account on a server, it will behave exactly like you expect it to. Again, that's a core Git feature. Additionally, AFAIK Git has its own locking management. Also look up the `--shared` flag. `man git-init` is very helpful.
- techknowlogick 4y agoHi, I'm the author of the blog post. Thank you for your comment. A project you may find interesting is soft-serve from charm.sh https://github.com/charmbracelet/soft-serve https://github.com/charmbracelet/soft-serve it's a "TUI" (terminal user interface).
- hrbf 4y agoThanks, it appears to serve the same function as gitolite, which I use in my setup and somehow forgot to mention. The SSH interface seems unnecessary though.
- deleted 4y ago[deleted]