``bfiles`` is a Mercurial extension for handling large binary files.
You can enable it like any other Mercurial extension: add
bfiles = /path/to/bfiles.py
to the ``[extensions]`` section of your ``.hgrc`` or ``.hg/hgrc`` file.
See usage.txt for information on using the extension.
bfiles was written by Greg Ward (greg at gerg dot ca) with
design/interface help from Peter Neelin.
bfiles requires Mercurial 1.3 or later.
Please use the main Mercurial user mailing list for bfiles questions:
If you want to contribute patches, great! Please use the patchbomb
extension to prepare and send patches. Send them to the
email@example.com list with the flag "bfiles", e.g.
hg email -t firstname.lastname@example.org --flag bfiles -r tip
Just follow all the guidelines for submitting Mercurial patches:
You can get the latest version by cloning my canonical public
There's also a backup on bitbucket.org:
bfiles is still under development, and therefore makes ABSOLUTELY NO
PROMISES about backwards or forwards compatibility. I reserve the
right to change the command-line interface, store format, or any
network protocols with no advance notice and no provisions for
In practice, this means that:
* you will have to upgrade client and server versions of bfiles in
case of changes to the SSH protocol.
* if you have different ways of accessing the same store (e.g.
locally on the server machine and over SSH), then make sure
that all copies of bfiles that are used are upgraded at the same
Also, when/if I change the store format (e.g. for case-insensitive
filesystems), I will at least provide a script to convert existing
My vague plan is that after releasing bfiles 0.9, I will only make
incompatible changes if absolutely necessary; after releasing bfiles
1.0, then bfiles will conform to Mercurial's compatibility policy. That
is, I will make no incompatible changes after 1.0.
I'm using bitbucket.org's issue tracker:
Please search the tracker before reporting new bugs!
If you want to hack on bfiles, design.txt contains obsolete but
easy-to-read design information. The source code is the final word,
To run the tests, you need a Mercurial source directory for the testing
infrastructure. The easiest way to do this is to clone hg-crew as a
sibling of hg-bfiles::
hg clone http://hg.intevation.org/mercurial/crew/ ../hg-crew
Then you can run the bfiles tests::
Everything you know about running Mercurial's tests applies here. For
example, you can test bfiles with different Mercurial versions easily::
hg -R ../hg-crew update 1.3.1