2009-08-03 6 views
6

estoy hashing nuestra estructura para la subversión y tienen la estructura estándar que creo que la mayoría de la gente usa el que está utilizando un repositorio y varias carpetas para cada proyecto:Carpeta troncal para el repositorio?

MainRepository 
    Project1 
     branches 
     trunk 
     tags 
    Project2 
     branches 
     trunk 
     tags 
..and so on 

Mi pregunta es, ¿qué necesito un tronco, ramas, y la carpeta de etiquetas para la raíz MainRepository? ¿Por qué lo harías si estuvieras mirando desde el tronco de vamos a decir Proyecto1? No sé si necesito uno o por qué necesitarías una carpeta de enlace u otras en la raíz real del repositorio.

MainRepository 
    Project1 
     branches 
     trunk 
     tags 
    Project2 
     branches 
     trunk 
     tags 
    ... 
trunk 
branches 
tags 
+0

Es posible que desee ver las respuestas a http://stackoverflow.com/questions/1183038/subversion-project-structure/1183058 (que se marcó como una estafa de http://stackoverflow.com/questions/518864/subversion-structure-questions/519090, BTW). – sbi

Respuesta

7

Realmente no lo "necesita". Depende de usted (y de sus proyectos) lo que necesita. Una carpeta troncal en la raíz tiene sentido cuando utiliza un repositorio para cada proyecto en lugar de un repositorio para muchos proyectos, en cuyo caso no necesita una carpeta troncal en la carpeta raíz.

5

El libro SVN recomienda colocar trunk/tags/branches en el directorio raíz o en subdirectorios de proyectos, pero no ambos al mismo tiempo.

Pero ... esto es en realidad solo una convención. SVN simplemente los trata como una estructura de árbol simple sin significado asignado. Si crees que los necesitas, úsalos.

1

Depende de usted. Usamos repositorios separados para cada proyecto ya que el aislamiento adicional que esto nos proporciona es útil: previene los errores de novato al verificar cada proyecto en lugar del proyecto que necesitan.

1

Troncal/Sucursales/Las etiquetas en la raíz del repositorio pueden tener sentido si tiene algún código o garantía que sea común a todos sus proyectos. Por ejemplo, algunas bibliotecas compartidas o tal vez especificaciones/PDF/.DOC, etc. que no encajan perfectamente en uno de sus otros proyectos.

Aparte de eso, no veo una razón para tener troncos/ramas/etiquetas en la raíz.

1

No estoy seguro sobre el tronco, pero es posible que desee etiquetas y ramas. Digamos que está trabajando en un defecto que abarca varios proyectos. Usted querría una sola sucursal que tenga el estado de todos los proyectos. Además, es posible que desee etiquetar todos los proyectos para las versiones principales (y secundarias) si interactúan.

Cuestiones relacionadas