3

How do you deal with binary files in your Google Code Mercurial repository? I have heard something about bfiles extension and such, but I do not know where to begin.

If you are going to say I should not put binary files in my HG repository, then where should I put them? They need to be pullable/downloadable by other developers. However, I do not need merging, diffing or keeping copies of different versions of binary files. I just need to get the latest binary file in the repository so that they update when you do a hg pull -u.

I hope this does not mean I have to stop using Google Code and get some custom installation.

studiohack
  • 13,477
rFactor
  • 859

2 Answers2

3

If the binary files are not particularly large (most images are just fine for example), then there is no reason to worry. Google Code will accept binary files just fine and Mercurial can handle diffing them without issue.

The only time you need to worry about the bfiles extension is if you are dealing with very large binary files - and in that case I would suggest you strongly consider if you really need to have them included in your same source code repository. I am not against versioning them, or otherwise keeping a known good copy, but consider keeping them in a separate repository or some other read only location that can be included in your project as needed.

As your models are probably embedded resources of some kind in your project, I would suggest that you just go ahead and version them with the rest of your assets as it will complicate your build process if they aren't. They are unlikely to change as much as your source code, so once you get past the initial hit of transferring the 300MB, your commits, pushes and pulls will be quick.

You may also want to consider alternative mercurial providers, like BitBucket.org - I wouldn't say they are necessarily better or worse, they just offer a different set of services around the source code management. Disclaimer: I generally prefer BitBucket.

Goyuix
  • 6,607
0

It appears Mercurial doesn't really care if it's binary. There are some solutions, I don't know how well they work with Google Code. ExternalBinaries and BFiles (and more links on this page)

tobylane
  • 1,337