How exactly Bazaar does handling of binary files?

John Arbash Meinel john at
Tue Nov 25 19:03:24 GMT 2008

Hash: SHA1

Thar wrote:
> Hello,
> I have a question on the issue presented in the FAQ here:
> That is - there is something about binary diffs. But can someone make
> it clear: is, during the checkout, Bazaar generates diffs between
> local and remote files (which is pretty resource-heavy), sends that
> limited portion of data and applies it locally, or is it just a
> regular sending of the whole file and overwriting the local one?
> Finally, FAQ states that "there are tools better suited to that". My
> apologies for asking it here on the Bazaar mailing list, but I spent
> quite a time looking for one, and found nothing. If anynone knows it,
> sharing a name would be very helpful.
> I'll appreciate your answer.
> Regards

"checkout" isn't really a time when this would happen. Are you thinking
more along the lines of "bzr update" ?

If you do "bzr checkout bzr+ssh://..." we find out what (if any) data
you have stored locally and then copy everything else across. This is
generally in the form of deltas, with the caveat that when the length of
the delta chain is as large as a fulltext, we then insert a fulltext.

"bzr checkout --lightweight" is a bit different.

Or perhaps you are thinking of "bzr commit" ?

In general, at *commit* time we compute the delta of a file versus its
last stored version, and save that. We then use that saved delta to
transmit changes around. So we don't have to transmit the fulltext of
every revision of every file.

If you are thinking in terms of Subversion, though, we *do* default to
storing the complete ancestry locally. (bzr co --lightweight is closer
to how SVN works, except it doesn't store a local copy of the base texts.)


Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla -


More information about the bazaar mailing list