Точно, Subversion разработан для поддержки одновременного доступа по нескольким протоколам, что вызывает серьезные проблемы с CVS. Вы можете использовать не только http: // и svn: //, но и file: // (если вы работаете локально на компьютере, например, с инструментом непрерывной интеграции или другим хуком после фиксации) https://, svn + ssh: // и т. д.
По моему опыту, один метод не оказался объективно "лучше", чем другой, но у каждого есть определенные преимущества. Например, Apache чрезвычайно искусен в обработке большого количества обращений одновременно. С другой стороны, если вы еще не используете Apache или не хотите, чтобы он обрабатывал трафик SVN, демон svnserve
является легковесным и достаточно производительным. На моих компьютерах Mac я настроил svnserve, используя launchd , чтобы запускаться только при поступлении запроса, поэтому он не использует ресурсы, когда нет активности репозитория. То, что работает лучше всего, во многом будет зависеть от шаблонов доступа, которые вы видите на практике.