For this Summer of Code, I'll apply for reworking the Project module to free it of CVS specifics. The greater plan is, of course, to get SVN support into project.module (and pave the way for other RCS backends), but if I am to believe knowledgable developers like dww and chx, getting the revision control functionality abstracted out into an RCS API module is already a lot of work. In case it should work out faster than expected ("unlikely" :D ) I figure I can still do the SVN specific bits in the time that remains.
You can find my application here. It's essentially complete, but before submitting it to Google I'm still waiting for feedback from dww, and yours can be helpful as well! As a short teaser, here's the introductory part of my application as copied from my website:
Synopsis
The Project module, together with its companion project_release.module, makes extensive use of the CVS module in order to accomplish revision control system (RCS) integration. In order to get drupal.org's new release system done in time, the Project module has been made even more dependent on CVS specifics, making it hard to impossible to use Project's functionality together with other revision control systems.
During the Summer of Code, I want to decouple the Project module from the CVS module and move CVS specifics into an RCS independent API. At the end, cvs.module should only be one of several possible backends for the RCS API, so that supporting other revision control systems like Subversion, Mercurial or Git can be achieved with reasonable effort. As an additional advantage, other projects like Case Tracker can also make use of the RCS API in order to integrate revision control functionality while sharing as much code as possible.
