Proporcionar una interfaz común para SVN y CVS

SVN y CVS son dos sistemas muy diferentes que apuntan a abordar el mismo problema básico: control de fuente.

Ambos trabajan de distintas maneras, por lo que probablemente sea difícil tratarlos exactamente igual.

Lo que me pregunto es, ¿sería concebible desarrollar una biblioteca de progtwigción o API que expone la misma interfaz, pero bajo la cubierta, se puede configurar para que funcione con un repository SVN o CVS?

Mi objective es desarrollar una biblioteca de este tipo en .NET o Java (probablemente .NET), pero quería tener algunas reflexiones sobre cuán factible sería, y si hay una mejor manera de abordar el problema.

El context de esto es: estoy construyendo un service basado en la web que includeá hosting de control de fuente, y quiero admitir tanto SVN como CVS para servir a la mayor cantidad posible de desarrolladores.

Personalmente, ignoraría CVS por un nuevo producto. Mi sensación sería que el enorme esfuerzo adicional para obligarlo a parecer SVN sería mejor gastar en otras cosas. No conozco tu mercado, así que podría estar equivocado, pero vale la pena pensar en eso.

La API de MSSCCI hace algo muy similar:

http://alinconstantin.homeip.net/webdocs/scc/msscci.htm

El MSSCCI intenta hacer que todos los controles de origen se vean iguales desde la perspectiva del IDE.

viewvc te permite navegar por los repositorys svn y cvs. tal vez hay un producto existente que ya hará lo que quieres?