Bazaar limits the quality that it may commit in line with the available virtual memory (based on an open bug).

I must put a database (as mysqldump text file) under version control. The database is 3 GB and i'm focusing on a server with 64GB of memory. I don't realise why this is an issue. After I make an effort to commit, I recieve the mistake reported within the bug:

bzr: ERROR: exceptions.OverflowError: asked for quantity of bytes is greater than a Python string holds

It is possible to way will be able to understand this file under bazaar version control?

My preference for bazaar is that i'm acquainted with it, however i intend to automate the dump and sign in like a cron job so any appropriate version control system is going to do.


Two options I've develop to date, until a much better solution seems. Presently, I have a copy of every weekly dump backup, storage isn't an problem at this time. Otherwise, I possibly could keep your first dump, diff the initial and latest version from the dump, and version control that. This could keep track from the changes, but it wouldn't be possible revisit an early on condition. I'm not confident with this unless of course there'd be considered a straightforward method to revert.

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

then within the cron script

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

Although I really like Bazaar, I wouldn't recommend that you employ it for this function, unless of course you certainly have to keep every version of the data indefinitely. If instead you simply require a fixed quantity of past versions (e.g. 10) or just for a set period (eg. 24 months), then I'd suggest that you employ an incremental backup tool like rdiff-backup.

This can be a bug in bzr, fixed in recent versions. See https://bugs.launchpad.net/bzr/+bug/683191

If "Foreign VCS" suggestions are relevant, I must say

First, you need to b*ackup things* with bazaar a lot more than utilizing a versionning system. That's different ! Bazaar stores changeset - variations between files - and tracker of these as well as their merge.
Even when I'm able to understand your point, I believe you're not while using right tool.

Anyway, to reply to your question, an easy workaround would be to lessen the quality. Like a mysqldump is really a text file, its size could be significantly reduced by blending it.

So a potential workaround would be to compress it with 7zip (or anything you want) before delivering it to bazaar.

By doing this prevents you against doing real merge or diff from bazaar, however i understand that it's not your priority.