I'll move all of my projects over to Darcshub (the smaller ones) and probably somewhere else (the larger ones) before the deadline.
Let's talk about the "somewhere else" for a while, crossing out Darcshub which is currently unsurpassed for what it does.
The main reasons why I keep (soon: kept) some of my projects on Bitbucket and, partially, GitHub were pure egoism:
- Those services provide(d) a low entry barrier for potential collaborators. Not that my projects had attracted actual collaborators, except for this one. It was really easy to find my code.
- Self-hosting something like Kallithea, GitLab or RhodeCode would have required quite some effort, those services usually have a lot of dependencies. Also, data loss would be much more likely on one of my servers than on theirs.
- Running a bare VCS like CVS or SVN on my servers would have almost no advantage over just throwing everything on Darcshub, minus a good (here: contributor-friendly) web interface.
Shuffling through my collected notes again, I found out that the newest version (2.9) of Fossil
, SQLite's homegrown version control system, comes with an automatic GitHub mirror export
function. In theory
, this is a perfect solution:
- Running Fossil servers is not really resource-consuming.
- Making a backup of a Fossil repository is done by copying exactly one file.
- Contributing would be easy and I would still have easily discoverable repositories.
, I tested the documented
two-step method to make an existing GitHub repository a Fossil repository which is then automatically (one-way) synchronized with GitHub on one of my less popular projects. Although the result came out almost as expected, I found a couple of obvious bugs on Windows, including one that prevents Git converstion from inside the PowerShell. This is bad, as Windows is still my main development OS. I wrote a lengthy bug report into their forums (which seems to be in a moderation queue or something), probably it will be awesome soon.
I have a few months left to decide ...
(Of course, I also tried to try SCCS. Does not seem to work well on non-Solaris systems just yet. I posted to their mailing list, maybe I can help.)