SVN и CVS - две очень разные системы, которые направлены на решение одной и той же основной проблемы - контроля версий.
Они оба работают по-разному, поэтому, вероятно, трудно справиться с ними одинаково.
Мне интересно, можно ли разработать программную библиотеку или API, предоставляющие тот же интерфейс, но внутри которого можно настроить работу с репозиторием SVN или CVS?
Я стремлюсь разработать такую библиотеку либо на .NET, либо на Java (скорее всего, .NET), но я хотел получить некоторые мысли о том, насколько это возможно, и есть ли лучший способ подойти к проблеме.
Контекст этого таков: я создаю веб-службу, которая будет включать хостинг системы управления версиями, и я хочу поддерживать как SVN, так и CVS, чтобы обслуживать как можно большее количество разработчиков.




API MSSCCI делает нечто очень похожее:
http://alinconstantin.homeip.net/webdocs/scc/msscci.htm
MSSCCI пытается сделать все элементы управления исходным кодом одинаковыми с точки зрения IDE.
Лично я бы проигнорировал CVS для нового продукта. Мне кажется, что огромные дополнительные усилия, направленные на то, чтобы заставить его выглядеть как SVN, лучше потратить на другие вещи. Я не знаю вашего рынка, поэтому могу ошибаться, но об этом стоит подумать.
Это, безусловно, преобладающее мнение сообщества Stackoverflow. Просто прочтите вопросы с тегами cvs, и вы увидите сильную предвзятость к svn.
viewvc позволяет просматривать репозитории svn и cvs. может быть, уже существует продукт, который будет делать то, что вы хотите?
И исходный MSSCC api также предполагает, что все проекты используют checkin-checkout .. Новая версия (для Visual Studio 2005+) позволяет вам переопределить + - всю поддержку SCC на уровне графического интерфейса пользователя. Вот и все, чтобы собрать все вместе.