Show HN: Gitern is a Git host for hackers
gitern.com
gitern.com
Perhaps I'm an odd duck (I am) but I think current git hosts are no longer meant for hackers and I really wanted a git host that is and that's why I'm building gitern.
Gitern is just getting started and only has essential features today but we already have a few differentiators: - all auth is done with ssh keys (no password or email required) - arbitrary repository paths allowing for (1) familiar namespacing and (2) access control (eventually) - a cli-first ui - private repos are default
I think better tools make for better hackers and I think git hosts can be a lot better.
I'll be in the comments if anyone wants to ask questions or scold me or something :). Very very open to feedback!
Cheers everyone
(I don't use that rsync service so I'm just guessing as to how you use it. If you can provide more context, I might be able to help further.)
At the moment, the feature set around git workflows is not more than just providing authorized access for several users to a git repo itself but I'll be providing more features around this soon in a way that improves on what currently exists on git hosts.
If multiple people need push access to a private repository, just serve a central repository as on a VPS and use SSH for authentication. I am not sure if there is a reason to use a third party hosting service for this, especially when hosting private repos.
[1]: https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git...
Reminds me of this comment https://news.ycombinator.com/item?id=9224
Edit: I don't mean to dismiss your comment. I just mean to say I'm obviously comfortable doing what you described but it's not a trivial amount of effort even if it is conceptually straightforward.
Sort of off-topic, but I just tried your chore chart -- what does '2X' mean? How can something get assigned to me twice?
Cheers.
Assuming you're using the chore chart with others, you are now assigned the chore twice rather than once in the rotation of the chore. It's no more than a weak disincentive for missing chores. (A better disincentive would be fines as I write about here https://keyankousha.com/the-best-chore-chart-in-the-world.ht... ... which I haven't implemented because I didn't need them in my housing situation as the weak disincentive of more chores worked fine.)
Also, any interest in releasing it as an open source project? :~)
Assignment and rotation happens automatically. A chore is setup with a frequency, etc, then as users are assigned they are notified and they only need to intervene when they do the chore.
How does a mate end up with 2X in the first place?
Also: are there chores where everyone is assigned? Like "pay your rent" where it's important that everyone does it?
There are group chores, but there aren't penalties for individuals missing group chores so that's a use case hole.
Shoot me an email to discuss more: keyan@choremate.co
In theory it has many advantages over Git, with the downsides being adoption and rough edges... but those shouldn't be a problem for hackers ;)
I'm really hopeful we'll see Pijul or something like it take off at least with "hackers." The promise of a robust patch theory is pretty exciting!
I started migrating the library tonight, because, moving forward, we'll be adopting it (btw, I just discovered it has some recent changes worth reviewing). We also maintain native Rust libraries for interdiff (wip), combinediff, splitdiff, lsdiff, and patch. It's late now, but I'll add it in with those libraries in https://github.com/changeutils.
If you'd like to add support in Gut for existing Pijul-managed sources, you could help work on the migration feature. We plan to support compatability with other patch-oriented version control systems, as well as with Git. It'll make history when we add that feature.
VCSs can seem a lot more complicated than they need to be. Getting back to the basics, as we're doing with Gut, really illuminates a lot of obscured opportunities. As a few other parts of the Speakeasy Engine soon come together, even a Web UI for version control management will fit well in our coding toolset.
Also, it seems Gut hasn't had any updates for more than a year, which is even before Pijul's last public patch.
My personal answer would be: it should be a hackable webapp, where users can implement or tweak features at will.
The ingredients being the usual:
- a plugin system
- a function hooks system
- many, many available options that are never taken away (i.e. breaking API changes).
When was the last time you used a webapp even remotely like that?
Sounds like git heaven for hackers ;)
It has its own very hacker-oriented aesthetic and tries to keep the various components it provides separated so for things that are "close enough" you might be able to bootstrap off their tools.
Also, the concept of a CI system where a failed build sticks around for a while and lets you ssh in to figure out what went wrong is -way- cool.
Sourcehut ticks all of the boxes for a well-run project: Open Source, good engineering, sensible financial plan, excellent maintainer who works well with others, and constant, sustainable progress.
Sourcehut is also accumulating lot of support for niche things that other providers don't support at all: e.g. it is a Mercurial host as well as a Git host, and the CI supports BSD OSes.
create: ssh git@gitern.com gitern-create <path>
delete: ssh git@gitern.com gitern-delete <path>
list: ssh git@gitern.com gitern-list [<path>]
pubkey add: ssh git@gitern.com gitern-pubkey-add <account> (pubkey on stdin)
pubkey remove: ssh git@gitern.com gitern-pubkey-remove <SHA256 fingerprint> <account>
pubkey list: ssh git@gitern.com gitern-pubkey-list
Edit: Eventually the cli will provide a lot more (and self document what's available) so I do recommend using it, but you can happily get along with these "raw" commands for now.
This reminds me, as I suppose you expect, of a lovely ssh-based chat service i saw on here a while back: https://news.ycombinator.com/item?id=8743374
Re: ssh-based chat. I found that post very very early on while exploring gitern as just an idea! Very formative of gitern.
Interesting prior art and maybe some stealable concepts :D
When I looked at the CLI source I almost walked away. 112MB spread across 12k files from a developer I don't know is _way_ too scary to trust with access to my SSH private keys. Being able to manage it without that CLI tool, though, makes it something I might try out.
[1]: https://0x0.st/8zs0
Bookmarked. I'll think more about implementing it as a shell script.
Honestly we've seen a ton of cool side projects like this on HN because of quarantine
I'm currently working on a way to optionally add an email address for recovery.
Edit: scrolled to the bottom, nice Twitter :)
I wonder if some of the cli commands like create can be auto-executed on first git push.
Is this open source? Would love to hack onto it.
Edit: Meant to add I've had a similar idea but it should probably be optional and configurable in a git config type way.
Current git hosts don't feel like they were made for programmers which is nuts! Even for the most essential and basic actions (all of what gitern provides at the moment), they feel kludgy. My intent is to carry a programmer-first approach for all needs programmers have around git hosts. I have SO many ideas on how to do this.
If you couldn't tell, I'm very happy to hear you had a positive impression lol. Thank you!
I'm not sure how it would fit a professional workflow, since that would require your server to call a web hook whenever somebody merges to a given branch, but it would do fine in an amateur workflow where I set up my own CI/CD using local hooks.
Where are repositories stored and do you use any sort of backup or replication?
You: Is this for food kiddies that want to be called foodies? All the foodies I know realize dumplings are just sheets of dough wrapped around a filling.