Subversion manejar sus archivos> 1GB con buen aplomo afable en su mayor parte, pero si hay muchos cambios grandes esperar que la generación de diferenciaciones a tomar un tiempo ...
Una buena característica de Subversion es que, por diseño, no hay límite para el tamaño de los archivos que puede manejar. Los archivos se envían "streamily" en ambas direcciones entre el cliente y el servidor de Subversion, usando una pequeña cantidad constante de memoria en cada lado de la red.
Por supuesto, hay una serie de cuestiones prácticas a considerar. Mientras no hay necesidad de preocuparse acerca de los archivos en el rango de kilobytes de tamaño (por ejemplo archivos típicos de código fuente), que cometen los archivos más grandes pueden tomar una enorme cantidad de tiempo y espacio (por ejemplo, archivos que son decenas o cientos de megabytes grande.)
Para empezar, recuerde que su copia de trabajo de Subversion almacena copias vírgenes de todos los archivos de control de versiones en el .svn/texto-base/ zona. Esto significa que su copia de trabajo ocupa al menos dos veces como mucho espacio en disco como el conjunto de datos original. Más allá de eso, el cliente de Subversion sigue un algoritmo (actualmente no ajustable) para confirmar los archivos :
. Copia el archivo a .svn/tmp/(puede tomar un tiempo, y utiliza temporalmente espacio de disco adicional))
. Realiza una diferencia binaria entre el archivo tmp y la copia prístina , o entre el archivo tmp y un archivo vacío si se ha agregado . (puede tomar mucho tiempo calcular, aunque solo una pequeña cantidad de datos podría enviarse a través de la red)
. Envía el diff al servidor, a continuación, mueve el tmpfile en .svn/texto-base/
Así aunque no hay límite teórico para el tamaño de los archivos, se le necesario tener en cuenta que los archivos muy grandes puede requerir un poco de paciente esperando mientras su cliente se escapa. Puede estar seguro, , que a diferencia de CVS, sus archivos grandes no incapacitarán al servidor ni afectarán a otros usuarios.
ascii o binario? – Johan
binario, aunque no conozco ningún sistema moderno de control de versiones que tenga algoritmos que distingan entre ascii y binario. Voy a probarlo y publicar mis resultados aquí. –
La confirmación inicial está ocupada, y utilizando el protocolo file: //, subversion está transfiriendo un promedio de 1.5 MB por segundo. Bastante lento. –