¿Puedo enviar un file grande con bazar, o hay un mejor enfoque para versionar un volcado de database?

Bazar limita el tamaño del file que puede confirmar en function de la memory virtual disponible (de acuerdo con un error abierto ).

Me gustaría poner una database (como file de text mysqldump) bajo control de versión. La database es de 3 GB y estoy trabajando en un server con 64 GB de memory. No entiendo por qué esto sería un problema. Cuando bash comprometerme, aparece el error en el error:

bzr: ERROR: exceptions.OverflowError: el número solicitado de bytes es más de lo que una cadena de Python puede contener

¿Hay alguna manera de que pueda get este file bajo el control de versión bazar?

Mi preference por bazar es que estoy familiarizado con él, pero planeo automatizar el volcado y registrarlo como un trabajo cron para que cualquier sistema de control de versiones adecuado funcione.


Dos opciones que he encontrado hasta ahora, hasta que aparece una mejor solución. Actualmente, conservo una copy de cada copy de security de volcado semanal, el almacenamiento no es un problema en este momento. De lo contrario, podría mantener el primer volcado, diferenciar la versión original y nueva del volcado, y controlar la versión. Esto mantendría un logging de los cambios, pero no sería posible volver a un estado anterior. No me siento cómodo con esto a less que haya una manera directa de revertir.

mysqldump mydb > mydb_base.sql touch mydb_diff bzr add mydb_diff bzr commit -m 'first commit' 

luego en el script cron

 mysqldump mydb > mydb.sql diff mydb_base.sql mydb.sql > mydb_diff bzr commit -m "`date +%Y.%m.%d-%H.%M` mydb diff" mydb_diff 

Aunque me encanta Bazar, no recomendaría que lo use para este fin, a less que definitivamente necesite mantener cada versión de sus datos indefinidamente. Si, en lugar de eso, solo necesita un número fijo de versiones anteriores (por ejemplo, 10) o solo por un período fijo (por ejemplo, 2 años), le sugiero que utilice una herramienta de copy de security incremental como rdiff-backup .

Este es un error en bzr, corregido en versiones recientes. Ver https://bugs.launchpad.net/bzr/+bug/683191

Si las sugerencias de "Foreign VCS" son aplicables, tengo que decir

  • Mercurial 2.0 con la extensión LargeFiles

En primer lugar, desea b * ackup things * con bazar más que usar un sistema de versión. Eso es diferente ! Bazar almacena el set de cambios (diferencias entre files) y mantiene un seguimiento de ellos y su fusión.
Incluso si puedo entender tu punto, creo que no estás usando la herramienta correcta .

De todos modos, para responder a su pregunta, una solución simple es networkingucir el tamaño del file . Como mysqldump es un file de text, su tamaño se puede networkingucir drásticamente al comprimirlo.

Entonces, una posible solución es comprimirlo con 7zip (o lo que quieras) antes de enviarlo al bazar.

De esta forma, evitamos que realices una fusión real o una diferencia con respecto al bazar, pero entiendo que no es tu prioridad.