¿Sistemas de control de versiones orientados a multimedia (archivos grandes)?

24

¿Existe algún sistema de control de versiones que sea particularmente bueno (o malo) para manejar archivos grandes? Nada demasiado loco, pero de varios cientos de megabytes a un gigabyte, digamos.

Actualmente tenemos la subversión en su lugar, pero hay algunos murmullos acerca de que no es ideal para este propósito. Yo no soy desarrollador, y no sé cuán objetivos están siendo, así que pensé en hacer una encuesta rápida de la comunidad para obtener información adicional.

Estoy interesado en el comportamiento o la idoneidad de estas soluciones VCS desde el punto de vista de los sistemas, así como desde el punto de vista del usuario.

TIA

DictatorBob
fuente
2
Me encantaría saber una respuesta. por ahora, solo rdiff-backup y scripts ...
Javier
@Javier, esta es la solución que usamos también, hasta ahora ha funcionado muy bien.
faultyserver
/ svn / REPO / 2012 / - 811Gb, subversión-1.6.23 (r1485506). No tengo ningún problema
ALex_hha

Respuestas:

4

Otra opción hecha para flujos de trabajo creativos y multimedia es AlienBrain, que ahora es propiedad de Avid. Es utilizado por muchos estudios de juegos para controlar la versión de los activos y el código del juego.

http://www.alienbrain.com/

Sin embargo, puede que no sea la mejor solución si no se trata de activos de medios.

3dinfluence
fuente
Ese es en realidad el que solían usar en cierto estudio de juegos grande en el que trabajaba. No recuerdo el nombre. Gracias. :)
DictatorBob
7

Encontrará que son muy importantes cuando se trata de archivos binarios.

Los murmullos que ha escuchado probablemente se originen de la noción de que los binarios de control de versiones están un poco en desacuerdo con el poder del control de versiones. Los archivos binarios no se pueden diferenciar o fusionar, por lo que se tratan como copias tontas. Todo el archivo se reemplaza en cada pequeño cambio.

Esto no quiere decir que usted puede no para archivos binarios de control de versiones o de hecho que no es útil que hacerlo. Si tiene el requisito de revertir un archivo a la versión que confirmó ayer. En cuyo caso le ha servido de algo.

Aunque puede encontrar una solución de almacenamiento con instantáneas que le sirva mejor y más eficientemente.

Dan Carley
fuente
2
También recomendaría un sistema de almacenamiento con instantáneas. Uso ZFS para versionar los discos duros de mi máquina virtual y funciona bien. Las instantáneas son casi instantáneas y solo ocupan el espacio necesario para almacenar los bloques modificados.
Amok
Las instantáneas pueden ser una buena opción. Supongo que depende de si puedo configurarlo o no para que puedan ser (en su mayoría) independientes.
DictatorBob
@ Dan, ¿no es esto mejor que simplemente copiar y pegar?
Pacerier
6

Parece que Boar satisfaría tus requisitos. Es el control de versiones para archivos binarios grandes como videos o imágenes.

Mats Ekberg
fuente
Este proyecto me atrae, porque no tiene una copia de directorio de trabajo del estado actual del repositorio. Esto significa que solo existen los datos respaldados (y las revisiones) y el original, no una 'copia de seguridad' del último estado actualizado del repositorio. O al menos así me parece a mí.
MrSnowflake
4

La gran mayoría de los que tienen que lidiar con una gran cantidad de archivos binarios (por ejemplo, juegos) tienden a usar forzosamente, a veces con una capa sobre él.


fuente
3

git-annex "permite administrar archivos con git, sin verificar el contenido del archivo en git. Si bien eso puede parecer paradójico, es útil cuando se trata de archivos más grandes de lo que actualmente puede manejar fácilmente git, ya sea debido a limitaciones en la memoria, el tiempo o el disco espacio."

Sciurus
fuente
1

Adobe ofrece Version Cue CS4, que fue hecho para proyectos multimedia. Quizá quieras echarle una ojeada a eso.

Chris
fuente
1

Creo que Bazaar maneja los archivos binarios bastante bien, esto parece estar documentado aquí (4.1). Supongo que esto depende de si quieres gastar dinero o no, ya que la documentación indica que hay mejores herramientas (sin embargo, no las nombra).

PixelSmack
fuente
3
Citando de ese sitio: Dicho esto, bzr es principalmente un sistema de control de código fuente, no un sistema de archivo de medios. Por lo tanto, no es una prioridad admitir enormes binarios (cien megabytes) o árboles de varios gigabytes. Hay otras herramientas más adecuadas para eso.
Cristian Ciupitu
1

La página de Wikipedia para Subversion también afirma que admite archivos binarios, aunque no tengo experiencia personal en esto, así que no puedo comentar qué tan bien funciona.

Soporte nativo para archivos binarios, con almacenamiento binario-diff de espacio eficiente.


fuente
1

Si, y es un gran si, estás usando el software de Autodesk (Maya, Autocad, Inventor, etc.). Luego está Autodesk Vault .

Recientemente descubrí esto en el trabajo. No es gratuito, pero aparentemente es el único VCS que funciona en archivos de activos de medios de Autodesk.

Sin embargo, solo es realmente adecuado para rastrear cambios en los archivos que puede inspeccionar, por lo que dibujar archivos está bien, pero no es posible para los 'activos representados'.

Probablemente iría con git.

Tom O'Connor
fuente
1

Un método completamente lateral es usar el sistema de archivos de unión AUFS que Docker usa para permitir a los usuarios crear diferencias contra nodos completos del sistema de archivos y publicarlos. Hablan de eso en su blog .

Esto no es control de versiones con todas las herramientas de git, pero permite agregar y modificar archivos en un árbol grande sin límite de tamaño real.

Esta sería una solución muy sólida solo para los archivos multimedia, pero no creo que ofrezca un control granular, por lo que sería mejor para proyectos donde la necesidad es similar a la de Docker.

Adam Nelson
fuente
0

Git podrá manejar archivos binarios de "varios cientos de megabytes a un gigabyte". Es muy rápido.

Aleksandr Levchuk
fuente
1
Tampoco está basado en el servidor. Ahora, aunque realmente me gusta la idea de un VCS distribuido donde su máquina local tiene una copia de todo el repositorio, esto puede ser un poco lento y engorroso cuando su repositorio consume 1000 gb, lo cual es algo trivial cuando maneja archivos en El tamaño de gigabyte. Luego, un repositorio central + carpeta de trabajo local asegura que las máquinas locales puedan mantenerse cuerdas.
TomTom
0

La búsqueda en Digital Asset Management parece llamarse "DAM", es un segmento dirigido a desarrolladores de juegos, estudios y científicos que tienen archivos grandes. Hay bastantes productos comerciales, y posiblemente la GUI será fácil ya que el segmento está dirigido a artistas y no ingenieros. Estoy viendo resourcespace.org en este momento porque es de código abierto y parece simple y flexible.

John Fisher
fuente
Git-lfs ha sido presentado. YMMV
Deer Hunter
Sí, hay git-lfs, y también github para windows ... No he renunciado a ellos para mi uso, pero git-lfs + gitforwindows tiene una GUI peor pero me permite usar el almacenamiento local; github requiere (creo) que almacene en githuib, que no es un iniciador para este tema. Tiene una buena GUI. ¡Ambos te dan Git Bash, que es genial!
John Fisher