BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Apache Subversion to Migrate to Git

Apache Subversion to Migrate to Git

Bookmarks

Update as many expected, this was an elaborate April Fools hoax made by many at the Apache Software Foundation. Being closed "Not a problem", Greg comments:

Resolving as "Not a problem". We sure as hell don't want to do this. :-)

My major thanks to [~jfarrell] for the concept.

And plenty of thanks to all of my co-conspirators on this issue. Yes.. even my antagonist [~jimjag] was in on the ruse :-) … the Infra team handled this with perfect aplomb. And the Directors and Exec Officers came in with a perfect level of wrath. Our Subversion teammates showed a great sense of community and circling the wagons… Thank you all for making this work!!!

Last but not least…

THANK YOU to all of you who actually BELIEVED.


In INFRA-7524 Greg Stein, founder of the Subversion project and previous winner of the O'Reilly Open Source award, has requested that the Apache Subversion project be migrated to Git. This will allow the development of the Subversion repository be developed with Git.

Although posted on April 1, the switch is not an April fool. In fact, the vote was taken on an internal/private mailing list, and the result was something that Greg was not happy with, suggesting that he might have to hang up the VP subversion hat. The Apache foundation is even drafting an official response to the situation.

Although this seems like a big change, in fact the Git repositories at Apache have been mirroring projects for some time using the unidirectional git-svn bridge. So the Apache SVN Git repository has been available for some time, and is browsable at GitHub already. The significant change is that in future the Git repository will be read-write for Apache committers, and the existing SVN repository will become locked.

New changes coming in the SVN client for 1.9 will allow the ra_git module to check out and work with Git repositories using the SVN client. This work is being developed in the ra-git branch, and provides (local) svn repository identifiers based on upstream git commits. Existing SVN tools will be able to use this both as a local checkout repository format and as a means to commit to a central Git server; in essence, it's a Git client with an SVN command line interface. Unlike the existing git-svn support, this uses Git natively between the client and server (and probably caches the Git repository locally on the client side) but continues to allow tools to locally operate on SVN checkouts.

Many of the commenters on the thread are less concerned about the irony of hosting SVN on Git as much as the private events that led to this occurring. Jim Jagielski, co-founder of the Apache Foundation expressed concerns that the vote was taken by the PMC behind closed doors, instead of the open democracy that Apache is known for. Even though Greg didn't vote for it, it was taken by the PMC for the Subversion project:

Look. The short of it is: the Apache Subversion project chose this. We want to get our stuff coded and released. For our backend, we don't need the super-huge repositories that Subversion supports. Our project stores some binaries, but we can make Git work for us. We have no need for Subversion's fine-grained authorization ... shoot. We allow ALL ASF committers access to our repository. There are no barriers to the migration here, and some of the stuff that Infra has done for integration with GitHub? Pretty cool. Positives, and only little negatives.

Don't get me wrong. I see the benefits. As the VP, I gotta represent the project. I really DO NOT LIKE this decision. But that is not for me to decide, and it is not for you (Jim/Rich) to decide for us. It is a decision of the PMC. Sure... they held the vote in private. But that does NOT deny the result of their vote. Pushing this vote to dev@ would simply incite riot. The people who have the voting power would NOT CHANGE.

So. As the VP of the Apache Subversion project, I opened this ticket. The Infrastructure team is moving on this ticket. If you, Rich, or any other Director/Officer have a problem with that, then bring it up at our April Board meeting. Otherwise, get out of this ticket. As Pilato and Tony have noted: this is not the forum.

With the conversion already underway and testing being done on the Git repository, the process more than the decision is under the spotlight.

Subversion remains the single biggest version control system, but is being rapidly replaced with Git in the open-source community; the decision to move the source for the Subversion implementation itself is an acceptance of that fact. But Subversion still remains large in enterprises and inertia is always present when moving repository types. What is clear is that Git is becoming a winner on the back-end, with the SVN client able to check out either SVN repositories or Git repositories.

What do you think of the decision to move the Subversion repository over to Git?

Rate this Article

Adoption
Style

BT