Я предпочитаю второе, используя maven или ant / ivy, чтобы при необходимости использовать артефакты из других проектов.
Я также предпочитаю иметь один проект на репозиторий или небольшое количество связанных репозиториев.
Это упрощает управление доступом, что проще на уровне хранилища, чем на уровне пути внутри хранилища, особенно при проверке подлинности с использованием LDAP.
Операции резервного копирования / восстановления изначально немного сложнее, так как вам нужно циклически пройти по всем репозиториям, чтобы сделать горячее копирование, но в случае неудачи вам нужно восстановить только один репозиторий - остальные не нужно переводить в автономный режим или потерять любые данные. Когда проекты умирают, репозитории могут быть просто удалены, что экономит ваше место на будущих резервных копиях.
Сценарии хуков становятся проще, когда в репозитории имеется только один проект (или небольшое количество связанных проектов), и вам не нужно изучать уязвимый путь, чтобы условно выполнить действие в вашем хуке.
Как отмечалось в retracile, один монолитный репозиторий, вероятно, будет огромной болью, если вы когда-нибудь захотите выборочно экспортировать, используя svndumpfilter - число измененных путей, вызывающих его гибель, вероятно, будет высоким.
Обновление схемы репозитория для будущих версий svn требует больше усилий - вы должны делать это n раз, а не один раз ... но это может быть записано в сценарии, и вам не нужно координировать все сразу.
Если кто-то фиксирует пароль, и вам необходимо его стереть, вы можете быстро выполнить дамп / фильтр / перезагрузку за один репо, не затрагивая другие команды.
Один совет, если вы идете по этому пути - используйте другой файл .conf для репо, а не один огромный, опять же, им проще управлять, а также удобнее, если некоторые временные метки будут старыми - если что-то вас не устраивает проще искать последние изменения.