9 ms·
For personal, single-person projects I went back to a bare (git init --bare) repository on my SMB share. I tried gogs and gitea, and at some point, I encountere
by MrGilbert 6y ago
For personal, single-person projects I went back to a bare (git init --bare) repository on my SMB share.
I tried gogs and gitea, and at some point, I encountered a bug where the cpu would spike to 100% constant load, and make my instance impossible to use. I also didn't want to run Gitlab on my NAS for performance reason.
I'm pretty happy now, with one system less to manage (although I don't want to discourage anyone to have a look at Kallithea - maybe it suits your needs!)
- junon 6y agoGitea is riddled with bugs and the maintainers seem to disagree they exist, which is a shame. We too just switched to bare repos and haven't really missed much from the SCM frontends.
- codetrotter 6y ago> and the maintainers seem to disagree they exist, which is a shame Does this extend also to the case of when someone submits a pull request to them, or only for issues that people file? If the former then it is truly problematic. If the latter they may be simply overworked/overburdened by the volume of issues that are being filed, and could need more people submitting pull requests instead of opening issues.
- MrGilbert 6y ago> If the latter they may be simply overworked/overburdened by the volume of issues that are being filed, and could need more people submitting pull requests instead of opening issues. Although merging and reviewing a pull request can also be quite time-consuming. If you are already overworked, it might add to the problem. I'm happy that none of my open-source projects went through the roof. I won't be able to manage it alone.
- junon 6y agoThey aren't saying "we can't fix this right now". They're saying, straight up, "this isn't a problem".
- freeopinion 6y agoPictures or it didn't happen. One of the maintainers has responded specifically to you here and you have ignored their outreach.
- oarsinsync 6y ago> One of the maintainers has responded specifically to you here and you have ignored their outreach. The maintainer has responded more recently than the GP's last comment. "ignore" feels like a stretch.
- junon 6y agoLol, "ignored". Why are you so angry? I don't check HN every waking minute of every day. In fact, I have noprocrast enabled, so I can't. Please stop assuming malice in others. You'll be a happier person. I've responded to the dev, FWIW.
- Jnr 6y agoLuckily for me Gitea has been working without any problems for some time now. And I would rather fix those issues than switch to bare repos.
- deleted 6y ago[deleted]
- kdumont 6y agoGitea maintainer here :) Is there an issue/PR you can point me to? I'd be happy to take a look and see if we can get it on the roadmap. We're working on improving testing strategy to reduce new bugs. We don't include front-end in our tests right now, which is imo our biggest issue. Would love some help with the this. We just support so many platforms, databases, and config options it's difficult to catch everything. It's a great project to work on and there is plenty of room for improvement!
- hnjst 6y agoThanks for your work on this nice piece of software! We created our small company last year and it has not only been our VCS (nicely integrated with Drone for CI/CD) but we also based our SSO on it (we had to add a homemade OIDC/OAUTH proxy though). I'll hopefully soon find the time to clean-up the code of said proxy and of the helm chart we wrote in order to propose a contribution to this nice project. I deployed and run Gitlab for a large company and have used it in other contexts in the past. While Gitlab's feature set is obviously much wider, Gitea is a nice trade-off when a lighter footprint is desired. Thanks again!
- junon 6y agoHi. You all but shut down my criticism of the mirroring system and the fact that it fails outright if Gitea dies in the interim - sometimes even due to Gitea deadlocking itself - and insisted this was SQLite's problem and not Gitea's. That's the one example I'm referring to. Since then, we faced a number of UI bugs that we just didn't bother to report since most other attempts at reaching out were rejected as "not our problem".
- kdumont 6y agoWe have quite the queue of projects, but we're actually working on the mirroring system and front-end tests. See: - https://github.com/go-gitea/gitea/pull/15268 https://github.com/go-gitea/gitea/pull/15268 - https://github.com/go-gitea/gitea/pull/14726 https://github.com/go-gitea/gitea/pull/14726 - https://github.com/go-gitea/gitea/pull/15315 https://github.com/go-gitea/gitea/pull/15315 - https://github.com/go-gitea/gitea/issues/14639 https://github.com/go-gitea/gitea/issues/14639 We're a volunteer team, so any information you can add to an issue would be greatly appreciated. Even if you're not using Gitea anymore.
- zrail 6y agoI have used bare repos managed by gitolite for close to a decade. Works great, and I never touch the config because I set up wildcard repos long ago.
- orblivion 6y agoI just set this up and I'm quite happy with it. I did not know about wildcard repos, I'll check that out.
- beeforpork 6y ago> git init --bare Aha, '--bare': what does that do? I always just type 'git init'. Let me do a little git bashing, OK? Sorry for this, but it so nicely documents my initial problems with git when I started a few years back. And it still occasionally (like right now) makes me shake my head in disbelief: > man git-init Searching for --bare gives me: > --bare > Create a bare repository. ...and how GIT_DIR is set... You don't say!! I search for other occurrences of 'bare' in that man page, but after skipping those in the synopsis and the help text, it says: > Pattern not found So bare = bare. Tautological documentation. It's all obvious, right? What --bare really does is to put what git would normally put into the '.git' subdir into '.'. I tried what it does, that's how I found out. Git is great, but please never claim that it is intuitively documented.
- loloquwowndueo 6y agoThe man pages are indeed not great. I usually invest a bit more time reading the git book, it explains what a bare repo is a bit better: “ a new bare repository — a repository that doesn’t contain a working directory.” From the “setting up git on a server” chapter (https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git...) which I think is the main reason why one would use a bare repo. That said I concur and don’t think anyone would make such a claim about git documentation. If all else fails, try https://git-man-page-generator.lokaltog.net/ https://git-man-page-generator.lokaltog.net/ :)
- Certhas 6y agogit user interface design is a disaster. It's no wonder it's hard to document (this is a bit orthogonal to your point...). Git has an extremely complex data structure/state: It's a forest of DAGs (commits in distributed repos), with labels on them (branches), that have specified relationships (remotes), as well as an index and a stash per DAG. All of this on top of the working directory (and .gitignore if you want). Of course these individual elements are mostly necessary to enable complex workflows. But simple workflows interact with all of these elements too in complex ways. This complexity is neither hidden behind a sensible set of UX abstractions, nor are they cleanly exposed to the user with a set of clean elementary operations to work on them...
- knorker 6y agoI've gotten pull requests for some of my personal single-person projects. It's very appreciated, and I doubt they would come as much if the only interface was a read-only git repo and an email address.
- MrGilbert 6y agoI've got some open-source projects as well that are hosted on GitHub, where I accept (and appreciate!) pull requests. But there are some projects I work on in my spare time, just for the fun of it. I don't need feedback on these. At least, not yet. For this, it's just nice to have something "locally", yet automatically backed up on my SMB share.
- onedr0p 6y agoYou could put gitea in a container and limit it's resources, what benefits does a bare metal install give you?
- onedr0p 6y agoIgnore this, not sure what your issue with those apps are
- saagarjha 6y agoHow does this replace a Git web interface, though? I guess you could have it serve simple index.html pages but I don't see how you're going to get code browsing and issues and PRs, except maybe locally on your machine.
- MrGilbert 6y ago> How does this replace a Git web interface, though? It doesn't. And it shouldn't. I don't need code browsing on my SMB repo because, well, I'm the only one working on it. And even if I weren't, it'd be kinda fine anyways. I don't have the extra layer of security, but I don't need that either: I already need credentials to connect to my SMB share. PRs - well, single project. It's just for me, so merging my own feature branches seems fine. Issues are indeed an "issue". I simply track them in a markdown file. Whatever floats your boat should be fine, though. Combined, for me personally, it works better than managing a platform I don't really need.
- lordgroff 6y agoFor issues, there's git-bug: https://github.com/MichaelMure/git-bug https://github.com/MichaelMure/git-bug
- MrGilbert 6y agoThat's nice, thanks!
- robertlagrant 6y agoIt makes sense that most distributed version control system features wouldn't apply to a single user.
- dragonsh 6y agoIf you just want to use for personal single-person projects fossil [1] and mercurial [2] may be a better choice, given both come with in-built web interface. Just run hg serve or fossil server or fossil ui. No need any external platform or program. [1] https://fossil-scm.org/home/doc/trunk/www/index.wiki https://fossil-scm.org/home/doc/trunk/www/index.wiki [2] https://www.mercurial-scm.org/ https://www.mercurial-scm.org/
- Conan_Kudo 6y agoI personally use Pagure[1] for mine. I use it because Pagure is fairly easy to install and maintain and it's packaged in virtually all major distributions[2][3][4][5]. I can easily develop my personal projects in them, have my own kanban boards for task tracking, and all the project data is stored as Git repos, which makes it easy to archive and replicate (with full project history). I've got a personal instance running on openSUSE in a tiny 1 vCPU+1GB RAM VPS, and it works really well. It's fairly lightweight on resources, too (my VPS instance rarely sees significant load). [1]: https://pagure.io/pagure https://pagure.io/pagure [2]: https://src.fedoraproject.org/rpms/pagure https://src.fedoraproject.org/rpms/pagure [3]: https://build.opensuse.org/package/show/openSUSE:Factory/pagure https://build.opensuse.org/package/show/openSUSE:Factory/pag... [4]: https://packages.debian.org/sid/pagure https://packages.debian.org/sid/pagure [5]: https://packages.ubuntu.com/focal/pagure https://packages.ubuntu.com/focal/pagure
- boogies 6y ago(Offtopic) You can simplify [2]–[5] to just ¹. ¹https://repology.org/project/pagure/versions https://repology.org/project/pagure/versions
- Conan_Kudo 6y agoHmm, yeah, I guess I could. I'll keep it in mind for the future. :)
- knuthsat 6y agoThis looks great!
- halayli 6y agowhy not use github private projects? It's free.
- mro_name 6y agowithout liability but with TOS. LOL, srsly? What's that good for?
- Proven 6y agoWut? Liability for what? Me using their free service? I don't pay anything so I don't expect any commitment or compensation in the case they fail to perform. > What's that good for? It's good for online source code repo, CI/CD and other workflows, documentation hosting, project docs, project Web site, issues, Wiki, discussions, MFA and few other things. Pretty good value for money.
- nsb1 6y agoBecause https://news.ycombinator.com/item?id=26709159 https://news.ycombinator.com/item?id=26709159 ..which is unfortunate.
- deleted 6y ago[deleted]
- tekstar 6y agoI enabled SSH on my NAS and use git over ssh for some stuff that never leaves my home network. For stuff I share a bit more widely I use git-shell over SSH with a few scripts to create and list repositories on a 5$ VPS. But for bigger projects I now use github as I missed CI and pull request review flows, even for my own work
- DrBazza 6y ago> I encountered a bug where the cpu would spike to 100% constant load A bit off topic - but is that an underlying problem with go-lang projects? I've seen a similar problem when using a couple of other go-lang tools, where the entire CPU hits 100% and locks the machine. Too many channels/threads perhaps?
- qbasic_forever 6y agoAnother good option if you need to start moving your repos to other machines or want to back them up is using rsync.net. They added git support many years ago and it's just like setting up a bare repo on a remote SSH host but all managed by rsync.net: https://blog.kozubik.com/john_kozubik/2010/02/git-and-subversion-support-at-rsyncnet.html https://blog.kozubik.com/john_kozubik/2010/02/git-and-subver... Once your repos are there then accessing them from anywhere is just a git-ssh clone away, just like a private github repo.
- manuelisimo 6y agoSame! I tried gitea for a while but I found out what I really needed was a git remote I could access over ssh. It is way easier to manage