Lately I've been having crazy ideas. Even more than usual, perhaps. I think the trick is to try and break the wildly unrealistic goals down into bite-size chunks that could actually work. Like, for instance, getting the project you want to hack on mirrored into your favourite repository format.

In other news, I've finally got around to learning how to set up public git mirrors of cvs and svn repositories - there are plenty of tutorials about creating private repositories, but very few which deal with public ones in detail.

For instance, one nice trick is that once you have run git-svn to update the remote refs in your bare repository, you then want to turn these remote refs into local branches and tags. So, you can 'git fetch' from the same repository into itself, and at the same time convert svn branches into tags:

git config remote.origin.url .
git config remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
git config --add remote.origin.fetch +refs/remotes/*:refs/heads/*
git fetch

(Stolen shamelessly from the blog post where I found it.) A similar method will work for the CVS tags that git-cvsimport produces - although I don't see an easy way to split tags out from branches, unless there are specific naming schemes previously in use.