Apache Subversion to Migrate to Git

| by Alex Blewitt Follow 4 Followers on Apr 01, 2014. Estimated reading time: 4 minutes |

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 Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Clearly there are technical reasons... by Mark Levison

...why they prefer GIT as a backend. In addition there are reasons why SubVersion is a better fit for some enterprises (i.e. fine grained access control for organizations that haven't discovered collective code ownership).

However as an outsider two things struck me:
- SubVersion seems to be signalling its own end - sad but perhaps necessary
- The discussion under: was really nasty and makes me see why many people have been turned off open source.

Sad that electronic communication brings out the worst in people and not the best :-( Sad that SubVersion is slowly dying.

Mark - mostly human

Re: Clearly there are technical reasons... by Merennulli .

The poor behavior that seems to be ubiquitous in the Open Source community is a large part of why I left the *nix platforms. If I needed help, it was almost always at the level of the learning curve where a dismissive "you shouldn't need that" was the universal answer. I wish I could say it was profit motive or something, but I don't find that sort of toxic attitude in other communities.

I don't agree, though, that SVN is ending just yet. GIT is getting a larger swath of the market because it has advantages in smaller projects, but SVN still covers areas that GIT does not.

Re: Clearly there are technical reasons... by Mark Levison

To be clear I don't think GIT is a complete replacement for SubVersion, just that SVN has signalled that its going downhill from here.


Please delete duplicate comment by Mark Levison

To be clear I don't think GIT is a complete replacement for SubVersion, just that SVN has signalled that its going downhill from here.


how to migrate by JOHN MOSES

I just put a doc together on how to migrate from svn to git on my blog at for all who is interested.

APRIL FOOL by Suresh Marru

Thank you all for nicely falling into the prey. Today Apache Software Foundation, showed we really know who to "engage" the community.

Re: Clearly there are technical reasons... by Steve Sims

"I left the *nix platforms... SVN still covers areas that GIT does not."

Horses can do things that cars can't do. Like defecating in the street and bucking you to the ground.

Re: Clearly there are technical reasons... by Jacques Le Roux

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

8 Discuss