Hacker News new | ask | show | jobs
by chriswarbo 1452 days ago
Moving repos between hosts is trivial; e.g. I keep bare clones on my laptop, on an AWS server, and GitHub; with post-receive hooks that keep them all in sync.

GitHub's appeal is all the add-on functionality that's not actually stored in the git repo itself; e.g. Issues, Pull Requests, etc. That can't be migrated away easily.

Anyone who (a) has concerns about GitHub (monoculture, Microsoft, Copilot, whatever), and (b) relies on such add-on functionality, should look into moving that metadata into their repos. To give Microsoft some credit, GitHub Actions already does this (via YAML files in a .github/workflows folder)

For my personal projects, I use a simple program called Artemis to manage issues, which just stores maildir files in a hidden folder: http://www.chriswarbo.net/blog/2017-06-14-artemis.html

2 comments

Have a look at Gitea. You can run it as a podman rootless container off the box on your local machine. The functionality is there, the community refuses to switch. There people who still have the idea that gh is still whatvit was 10 years ago.
We tried to migrate to Gitea at my company, ~100 repositories with a bunch of mirrors, lots of CI, renovate-bot using the API, etc. It was a disaster. It was unusably slow (10+ seconds to load the list of pull requests, API calls to open a new pull request timing out after 60s) despite never using more than a tiny fraction of the resources of a 16-core server. We tried to engage with the community to find out the cause of the slowness and were met with open hostility.
/* I know it's off-topic, but symptoms look very much like a DNS problem, or a firewall problem. */
A DNS or firewall problem that causes Gitea to intermittently spend 10+ seconds responding to requests, when running in a cluster alongside other containers that have no such problems? Can you describe a plausible mechanism for that?

We did some profiling and spent quite a bit of time looking at Gitea's source code, it was pretty clear in the end that it's just very very inefficient for large setups. It does an excessive amount of I/O on the Git repositories every time you load a page; there is some caching but not enough / not of the right things. We were really open to implementing fixes and submitting PRs but the community was so hostile that we just abandoned it.

It was overall an enormous waste of time and I can't recommend Gitea to anyone with a setup larger than a handful of small repositories.

I was looking for a simpler GitLab alternative. I guess Gitea is off the list now.

I wonder how CodeBerg works though.

GitLab imports issues and pull requests, with some caveats: https://docs.gitlab.com/ee/user/project/import/github.html#p....
GitLab UI is full of warts though. Since they are there for 5+ years I doubt they will be fixed soon. I am talking about little things - weird button-with-dropdown to start a comment/discussion on a MR, infuriating emojis (no I don't want to put a sign :man-kissing-a-man: just because I entered a smiley) and similar. It looks like either their devs are not using the product or any change is hampered by red tape.

Still, we use it, but try to use just core functionality (git, CI, issues, wiki) and avoid anything else. Always wanted to try gitea, maybe now it's the time.