Código fuente directamente en la carpeta troncal o en el tronco / subcarpeta

¡Finalmente estoy entrando al mundo del control de revisión! No tengo ningún conocimiento previo de Subversion, pero he leído la mayor parte del libro, y actualmente estoy instalando Subversion y Trac. Seremos dos desarrolladores trabajando en una aplicación web PHP.

Mi pregunta se refiere a la estructura del directory. La práctica común parece ser poner el código fuente directamente en el tronco. Pero ¿cómo manejo los files que no son parte directa de la aplicación, por ejemplo?

  • Registros de cambios de Liquibase si elegimos tener control de revisión sobre el historial de MySQL
  • Pequeñas herramientas PHP que no serán una parte directa de la aplicación PHP, pero es bueno tener control de revisión
  • Otros files brutos / files fuente que queremos mantener controlados por revisión

¿Puedo agregar una subcarpeta en el tronco para la aplicación en sí, "aplicación", y otras subcarpetas para los files que nunca se implementarán / en producción? ¿O hay otras forms mejores de resolver esto?

Para algo como lo que describió, es típico que cada aplicación / proyecto / herramienta / componente / cosa tenga su propio directory, con su propio tronco / tags / twigs debajo de eso.

/main-app/trunk /main-app/tags /main-app/branches /small-tool-1/trunk /small-tool-1/tags /small-tool-1/branches /small-tool-2/trunk /small-tool-2/tags /small-tool-2/branches 

Puede leer más en el libro en línea Control de versiones con Subversion .

Para agregar a la respuesta de dave, seguiría su sugerencia de mantener las herramientas, etc., en sus propios directorys.

Además, podría considerar agregar la propiedad svn.externals al directory troncal de la aplicación principal. El uso de svn.externals se puede usar para hacer que svn revise los otros directorys del repository (herramientas, etc.) en subcarpetas del directory de trabajo para su aplicación principal.

Esto se puede usar, por ejemplo, para permitir que código compartido sea verificado con múltiples aplicaciones.