Mezcla Git / rsync para proyectos con grandes binarys y files de text

¿Alguien conoce un proyecto que pueda combinar eficazmente el control de la versión de git para files de text y algo así como rsync para files binarys grandes (como datos)? Obviamente, esto es un poco más allá de lo que un DVCS debería hacer, pero tengo curiosidad por saber si alguien ha escrito un envoltorio inteligente sobre git para hacer tales cosas y sincronizarse con un repository central.

Puede que te guste el git-annex . Desde su página de inicio:

git-annex permite administrar files con git, sin verificar el contenido del file en git. Si bien esto puede parecer paradójico, es útil cuando se trata de files más grandes que los que git puede manejar fácilmente en la actualidad, ya sea debido a limitaciones de memory, time o espacio en disco.

Incluso sin seguimiento de contenido de files, ser capaz de administrar files con git, mover files y eliminar files con treees de directorys versionados, y usar twigs y clones distribuidos, son razones muy útiles para usar git. Y los files anexados pueden coexistir en el mismo repository git con files regularmente versionados, lo cual es conveniente para mantener documentos, Makefiles, etc. que están asociados con files anexados pero que se benefician del control total de la revisión.

El último que vi se llama bup :

bup es un progtwig que respalda las cosas. Es la abreviatura de "copy de security".

bup tiene algunas ventajas sobre otro software de respaldo:

  • Utiliza un algorithm de sum de comprobación progresiva (similar a rsync) para dividir files grandes en fragments. El resultado más útil de esto es que puede hacer copys de security de enormes imágenes de disco de máquinas virtuales (VM), bases de datos y files XML de forma incremental, aunque por lo general están en un gran file y no utilizan toneladas de espacio en disco para múltiples versiones.
  • Utiliza el formatting de file de package de git (el sistema de control de versiones de código abierto), por lo que puede acceder a los datos almacenados incluso si no le gusta la interfaz de usuario de bup.
  • A diferencia de git, escribe packages de files directamente (en lugar de tener una etapa separada de recolección / reempaquetado de basura) por lo que es rápido incluso con enormes cantidades de datos. Los formattings de índice mejorados de bup también le permiten rastrear muchos más nombres de file que git (millones) y realizar un seguimiento de muchos más objects (cientos o miles de gigabytes).
  • Los datos se comparten "automágicamente" entre copys de security incrementales sin tener que saber qué copy de security se basa en cuál otra, incluso si las copys de security se realizan desde dos computadoras diferentes que ni siquiera se conocen entre sí. Simplemente dile a bup que haga copys de security y guarda solo la cantidad mínima de datos necesarios.