SVN: ¿crea un nuevo repository para cada proyecto o coloca todos los proyectos en el tronco?

Tenemos dos proyectos básicamente, cada uno de estos dos proyectos principales tienen sub proyectos de los que están compuestos. Lo que tenemos en SVN actualmente es 1 repo como este:

/SVN-REPO1/MainProj1/ -trunk -branches -tags 

¿Debería crear un repository completamente nuevo y simplemente poner MainProj2 dentro de sí mismo? ¿O debería poner MainProj2 dentro de SVNREPO1 ?

Creo que depende de la relación entre MainProj1 y MainProj2. Si están muy relacionados, utiliza el mismo repository.

Crear un repository diferente para cada proyecto es útil para rastrear el historial, fusionar y ramificar de forma independiente. Todavía puede hacerlo si ambos proyectos están en el mismo repository, pero tenerlos en repositorys diferentes simplemente lo hace más simple.

Piense en mantenimiento también. El mantenimiento de este repository, con dos proyectos principales con subproyectos, podría volverse más complejo a medida que crecen los proyectos.

A less que ambos proyectos estuvieran muy relacionados entre sí, iría a repositorys separados.

De cualquier manera funciona, pero me parece que cuando se trabaja dentro de un equipo de desarrollo corporativo es más fácil usar el segundo enfoque (poner MainProj2 dentro de SVNREPO1). Digo esto porque es más fácil decir a los nuevos empleados dónde están las cosas y todos solo tienen que ir a un lugar para get la fuente. El único inconveniente puede ser que su repository podría ser muy grande y su descarga inicial podría tomar bastante time. Nada que diga que tiene que download todo de una vez, pero si no va a hacer eso, también podría tener repositorys separados.

 /SVN-REPO1 /MainProj1/ /trunk /branches /tags /MainProj2/ /trunk /branches /tags 

Necesita ahora que si utiliza el mismo repository, el número de revisión boostá para todos los proyectos. Esto hace que sea más difícil saber rápidamente si hay nuevos compromisos en su proyecto simplemente siguiendo el último número de revisión.

Si otorga derechos de acceso a su único repository, debe asegurarse de limitar por subcarpetas (cada proyecto), esto es propenso a errores.

Es por eso que creo un repository por proyecto. Para los enlaces entre proyectos, es fácil configurar elementos externos que mostrarán la relación.

Las unidades más pequeñas, bien interconectadas, a menudo son más fáciles de administrar. Si tiene un buen software de administración de proyectos, la creación de repositorys y la administración de los derechos de acceso es fácil. Compruebe Svn Access Manager o Indefero , lo hacen bien.