How and why to set up a git mirror script
Today I had some issues with GitHub and the university's network. We run a Hudson continuous integration server behind a HTTP proxy that has to fetch revisions from a github repository.
But the problem was that the GitHub HTTP cloning is kind of broken at the moment. So I set up a little mirror script on my root server to mirror the GitHub repo to Gitorious.
Idea:local --git push--> GitHub --git pull--> rootserver --git push--> Gitorious --git pull: HTTP--> Hudson
Now the Hudson server can fetch from the Gitorious repo that is always in sync.
I know I could host all the stuff on my own server but I was to lazy to look up and setup all this server stuff. This solution took me about 10 minutes.
My conclusion: distributed version control is the shit!