Sysadmin/SVNInfrastructureShutdown: Difference between revisions

From KDE Community Wiki
(Reword intro section)
Line 1: Line 1:
Currently we have a subversion infrastructure and also a git infrastructure. This means everything we do, we do 2 times. Just to give some examples: there is a git server, and a svn server. Both are backed by anongit/svn-servers. Both have hooks which control access for some paths/repo's, send out emails to mailinglists, etc. Not much can be shared between those. Also think about lxr.kde.org, build.kde.org, api.kde.org, kdesrc-build and translations that all need to be able to deal with some weird mix of svn and git.
KDE decided to move from Subversion to Git a few years ago. 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:


Not only is this very difficult to maintain organisationally, hard to debug sometimes, causes confusion not only with sysadmin but also with the contributors, but is also a waste of resources (instead of 4 anongit mirrors, we can only have 2, because we also need 2 anonsvn mirrors).
* 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.


KDE has decided to move to Git a few years ago. Now the time has come to say goodbye to subversion. That's why we created a time schedule to dismantle subversion.
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 ==
== February 1st 2013 ==

Revision as of 22:00, 26 January 2013

KDE decided to move from Subversion to Git a few years ago. 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

SVN hooks will become active that prevent creation of new folders below branches/work/, trunk/playground/*/ and below 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 are not 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 http://websvn.kde.org/trunk/kde-common/svn/hooks/svnacl.cfg?revision=1329421&view=markup

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.

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 as well (hopefully we have a replacement by then). Just like svn.reviewboard.kde.org and websvn.kde.org

Note

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.