KDE decided to move from Subversion to Git in 2010. Most of the code has migrated to Git already. However, Subversion is still around. This is a maintenance burden for the sysadmin team, since a lot of things have to be done twice, for SVN and for Git. Just to give some examples:
- There is a git server, and a svn server.
- Both are backed by anongit/anonsvn servers.
- Both have hooks which control access for some paths/repos, send out emails to mailing lists, etc. Not much can be shared between those.
- Several services such as lxr.kde.org, build.kde.org, api.kde.org, kdesrc-build and translations need to deal with some weird mix of SVN and Git.
- We have to add SVN support even to new services like the new IRC commit-announcing bot.
This very difficult to maintain organisationally, hard to debug sometimes, and causes confusion not only with sysadmin but also with the contributors. In addition, it is a waste of server resources (instead of 4 anongit mirrors, we can only have 2, because we also need 2 anonsvn mirrors).
We don't have the resources to keep SVN around forever. What follows is a schedule for the dismantling of Subversion. It has already been discussed both within the Sysadmin team, and in the kde-core-devel mailing list. We still welcome further feedback.
February 1st 2013
We will activate SVN hooks that prevent creation of new folders below branches/work/, trunk/playground/*/, and trunk/extragear/*/. Effectively this means no work branches and no new playground or extragear projects can be made in Subversion.
Also, at this date we will disable all developers that have not uploaded their ssh keys in the past (currently 669 accounts). These people haven't been allowed to commit for over a year now and never migrated from a password based account to a ssh-based account and never responded to our mails about that. This is the list that can be seen at line 807 of svnacl.cfg.
Completed: Februari 3rd 2013
March 1st 2013
Git repository commits can no longer be tracked via commitfilter.kde.org. You can track commits to Git repository via projects.kde.org. commitfilter.kde.org will continue to operate, but only for SVN commits.
Completed: March 3rd 2013
July 1st 2013
New contributors will no longer get Subversion account by default. If SVN access is needed, it can be requested manually via sysadmin. This would be a great deadline for all main modules to have migrated to Git.
September 1st 2013
The anonsvn mirrors will be shut down. svn.kde.org will remain for now, anonymous checkouts can happen via svn:// protocol on svn.kde.org. This is a great deadline for all projects to have migrated to Git. From this moment on tools are allowed to stop supporting Subversion: build.kde.org, lxr.kde.org, api.kde.org and similar services.
svn.reviewboard.kde.org will be closed for new requests.
November 1st 2013
All SVN account holders will get a reminder mail about the future of SVN. Most likely this will inform everyone of the shutdown of the SVN server on January 1st. At this point of time, most parts of svn.kde.org will become read-only.
January 1st 2014
Close down of svn.kde.org. All extragear / playground projects still in SVN will be 'archived'. The old commitfilter.kde.org will be shutdown (hopefully we will have a replacement by then). svn.reviewboard.kde.org and websvn.kde.org will be shutdown as well.
The only exception are the translations. These will continue to happen via subversion, but this will use the gitolite software as backend. In any case, this will result in only minor changes for translators.