As you may be aware I have recently been playing with the excellent Agavi framework and it introduced me to the interesting phing tool. Phing can be used to automate tasks with build files that are close to interoperable with Apache Ant, which uses XML files to configure builds. The advantage phing has for us PHP users is that it is entirely written in PHP so extending it is as simple as adding a new class.
On a few recent projects I did just that when I need the ability to perform SVN Import and access Unfuddle’s API to create a new repository on the fly. Essentially my build file was creating a new website using a CMS and then creates a new repository for it and imports the newly built CMS automatically. This was all written to use Unfuddle’s SVN but the add repository task should be able to be used to create a new git repository as well. The Unfuddle side of things was completed with refactoring and building upon David Winterbottom’s work, which was originally intended to send Unfuddle messages.
Please find the code hosted on github in my phing repo.