tutorial tortoise tag estructura espaƱol entre diferencia create crear branches svn version-control asset-management

tortoise - Optimizaciones de SVN para que los repositorios grandes respondan



tortoise svn server (3)

Felizmente usamos SVN para SCM en el trabajo. Actualmente tengo nuestros activos binarios en el mismo repositorio SVN que nuestro código. SVN admite archivos muy grandes (los transmite ''streamily'' para mantener el uso de la memoria en buen estado), pero hace que todo sea SLOOWWWWW. Estoy de acuerdo con el lento control de versiones de los activos, pero las operaciones de texto lento no son realmente aceptables.

En este momento, los activos están en / trunk / release (al lado de una docena / trunk / projects). ¿Deberíamos mantenerlos en un repositorio separado? ¿Qué otras optimizaciones podemos hacer? Tenemos aproximadamente un GB de activos y estamos creciendo.


Usted no dijo qué optimizaciones ya usa. Si está utilizando bsdfs, vea si cambiar a fsfs mejora el rendimiento. Si tiene una gran cantidad de revisiones, cambie a una versión más reciente en el servidor y convierta el repositorio al formato 1.5.


La IMNSHO es mejor para mantener cada proyecto en su propio repositorio, solo con el propósito de mantener separados los números de revisión entre ellos. Si el proyecto foo no se ha cambiado en seis meses, pero la barra de proyectos está en desarrollo activo, ¿por qué el número de revisión actual de foo sigue cambiando? La excepción, tal vez, si los dos están estrechamente unidos (como si compartieran una biblioteca común), pero incluso entonces tal vez la biblioteca debería ser su propio proyecto también.

¿Los activos binarios están cambiando alguna vez o están estáticos? Si son estáticos, tal vez no los quieran en los repositorios (simplemente deje un pequeño marcador de posición allí).


probablemente la mejor respuesta que obtendrás es colocar tus archivos binarios en un directorio separado y usar las funciones del Directorio de Repuestos para administrarlos; es decir, no revises los archivos hasta que los necesites. Entonces todas las operaciones ocurrirán en los archivos fuente y no en los binarios.

Alternativamente, puede usar el mismo mecanismo para confirmar o actualizar: en lugar de actualizar su copia de trabajo, puede usar ''actualizar a revisión'', y especificar HEAD y una profundidad reducida, para que el directorio binario no se actualice (hasta que lo necesite) a).

También puede ''svnadmin pack'' sus repositorios, lo que mejorará el rendimiento del lado del servidor.