Is there a good version control system for binary files? I would like to be able to use VC with things like photos and Word documents. I know some existing systems such as Subversion and Git support binary files, but I've read that they have lots of quirks and performance problems, so I'd rather use something specifically made for this purpose. My only concrete requirement is that it must not make a copy of the file for every revision; the files in question are fairly big, so I can't afford that.

  • Non version control solutions: You could try using Dropbox (dropbox.com) as it keeps past revisions of files you store with it. The Picasa (picasa.com) photo library manager keeps a history of changes made within the program without creating duplices, though you must export the images to share the changes. – donut Feb 5 '10 at 6:11
  • I edited the question to make it broader (all binary files instead of just graphics-related) because I realized I need it for things like Word documents as well. – Sasha Chedygov Feb 5 '10 at 6:36
  • 3
    On SO is question about that - stackoverflow.com/questions/104453/version-control-for-binaries – MicTech Feb 5 '10 at 6:52
  • @donut Dropbox keeps only few recent versions (or it's limited by date? don't know at the moment), so not all versions are kept – Dalibor Filus Nov 9 '12 at 18:00

Maybe there were performance problems in older versions, but subversion is great when it comes to binary files. I believe it only stores deltas, so you should be fine with the size restriction. Keep in mind that it also depends on the formats used. If it is compressed, making a modification may have an effect on more of the file, creating a larger diff. Binary diffs aren't as optimal as text-based diffs however, but still very usable.

Subversion even claims that their diffing algorithm works equally well on text and binary files:

Note that whether or not a file is binary does not affect the amount of repository space used to store changes to that file, nor does it affect the amount of traffic between client and server. For storage and transmission purposes, Subversion uses a diffing method that works equally well on binary and text files

| improve this answer | |
  • Hmm, interesting. I read that is has trouble with large files. Maybe I should try it and see for myself. – Sasha Chedygov Feb 5 '10 at 6:18
  • Added a bit more detail. Let me know how it goes! – John T Feb 5 '10 at 6:19
  • 1
    Sorry for replying so late, I totally forgot I left this unanswered... Yes! It looks like it works fine. Performance isn't great but it's good enough. – Sasha Chedygov Jul 12 '10 at 8:43

You should take a look at Boar, it is a version control system made specifically for large binary files.

| improve this answer | |
  • 2
    Be aware that Boar is in Beta at time of writing. – Sean Kearon Oct 11 '11 at 7:45
  • Looks interesting, thanks for posting! I'll take a look. – Sasha Chedygov Oct 12 '11 at 1:48

Not sure if it fits the price range, but there are specialized asset management systems for Graphics. I think Adobe has one (Version Cue), but there is also Alienbrain.

| improve this answer | |
  • I have tried Version Cue, but it requires you to set up an entire server and seems really complicated for what I need. Maybe I'm wrong though. I'll check out Alienbrain too. Thanks. – Sasha Chedygov Feb 5 '10 at 6:17

Not the answer you're looking for? Browse other questions tagged or ask your own question.