I’m a little bothered by how centralized Github has made the world’s source control - particularly given the distributed nature of the tool on which it builds.
For personal stuff, I’ve gone back and forth between using Github and just hosting things myself. The thing is, while it isn’t hard for me to host my own repos, it isolates me from the rest of the world, just a little bit.
I’ve settled on a hybrid approach: Taking a hint from Indie Web Camp, I’m publishing to both now.
I’ve got a gitweb instance up at git.zenhack.net. You can browse the repos on the web, and you can clone them like so:
git clone git://zenhack.net/<repo>
So, for example, if you want to grab the code for the Iron Blogger replacement I’ve been working on:
git clone git://zenhack.net/iron-blogger2
The things I’ve been working on lately are published both there, and on my github.
I’ll happily accept pull requests if people want to send me patches that
way, but I will be very pleased if people feel like using
git-format-patch, and sending me patches via email.
The process of setting up a local repo to push to both places isn’t hard, but takes a few steps.
First, both remote repos have to exist. Then, you can do:
git remote add origin firstname.lastname@example.org:~/git-pub/reponame git remote set-url --push --add origin email@example.com:~/git-pub/reponame git remote set-url --push --add origin firstname.lastname@example.org:me/reponame
I’ll probably write a script to do all of this soon, including creating the remote repos, and propagating the repos’ “description.” I’ll post back here when I do.