Andrew Nacin announced official git mirrors for WordPress this afternoon on the WordPress make/core development blog. These are read-only mirrors that correspond to the WordPress core development SVN repository. Git mirrors are also now available for BuddyPress, bbPress, GlotPress and the old core.svn “build” repository:
git clone git://develop.git.wordpress.org/ git clone git://buddypress.git.wordpress.org/ git clone git://bbpress.git.wordpress.org/ git clone git://core.git.wordpress.org/ git clone git://glotpress.git.wordpress.org/
Needless to say, developers who contribute to WordPress and/or its major ancillary projects are thrilled:
Official GIt Mirrors for WordPress: http://t.co/nJUi3yK4EP Can I get a Hallelujah?
— Mike Schinkel (@mikeschinkel) January 15, 2014
Read make/core post by @nacin. Wait for stream of praise and love in comments. rinse. repeat.
— Aaron Jorbin (@aaronjorbin) January 15, 2014
Contributing to WordPress via Git
When asked what the plan is for accepting pull request directly on Github, Nacin replied, “I’ve been studying how some other projects do or don’t do this. Something to discuss in a few months, I imagine.”
The current git contribution process is not quite as direct, but Nacin cites Scribu’s tutorial on Contributing To WordPress Using Github as a place to get started.
Future Mirrors for Plugin and Theme Repositories
At the end of his announcement post, Nacin hints at the possibility of making git mirrors available for WordPress plugins and themes:
There are a lot of other repositories on WordPress.org not yet mirrored. Notably: plugins and themes. These are massive multi-project repositories and will require a bit more investment.
An undertaking like this has the potential to please many more developers, as those who contribute to the WordPress core are still a relatively small number compared to those with active extensions on WordPress.org.
Is WordPress Moving Away From SVN?
Some of you might be wondering whether the new git mirrors are an indication that WordPress will eventually abandon SVN entirely in favor of git somewhere further down the road. That doesn’t seem to be the case, as Nacin replied on comments to his post:
If you or your tools want to use Git, you should be able to. If you or your tools want to use SVN, you should be able to. You could think of it as a desire to be VCS agnostic.
I interviewed Nacin briefly to ask him if the project is committed to keeping both version control options available in the future. He confirmed that SVN is going nowhere anytime soon but rather that the project is committed to letting developers choose:
We’re definitely committed to keeping both options available. Some developers are simply more used to X, or find X simpler, or find X cryptic/convoluted/difficult. I use both daily. With both options available, developers can use what they are most comfortable with or what fits best with their project, client, or company. There’s no need to force everyone to pick one, and there are a lot of tools and scripts people already use to interact with these SVN repositories, too. It just doesn’t make sense to not mirror between them for the long term.
For the next week it will be in beta, so there may be a few bugs that need to be ironed out. Hopefully, these new git mirrors will open up the doors for contributors to push more enhancements and fixes to the WordPress project. Given the massive popularity of git, we may look back to this time as a pivotal moment. For right now, suffice to say that these new git mirrors just made a ton of WordPress developers very happy.