17

What's the best way to version large amounts of binary files, say audio and video files? Git doesn't seem like it's really designed to handle large amounts of binary files.

The other issue is that content produces don't necessarily want to learn how to use a developer's tool like Git.

Has anyone found a good binary versioning companion for text based versioning systems like Git? What do game developers usually do? Is content just not versioned in many cases? Do centralized SCM's work better in this case?

catphive
  • 3,511
  • 3
  • 31
  • 29

7 Answers7

4

Adobe's Version Cue is a VCS with good integration in adobe suite and has a serviceable standalone tool. I won't recommend any version prior to CS3, though, because it just wasn't feature complete.

That said, I use git for version control on media files anyway. git just doesn't care what the format is, although it can't merge most binary formats when they do diverge. the builtin gui (git-gui and gitk) interfaces for git are actually quite nice, once you know your way around them.

SingleNegationElimination
  • 151,563
  • 33
  • 264
  • 304
2

I'm versioning my binary files in Git, and before that I used Subversion. However, I really cannot recommend either of those, especially on Windows and/or 32 Bit systems.

In game development, Perforce seems to have an almost 100% market penetration, specifically because of its handling of binary files.

Jörg W Mittag
  • 363,080
  • 75
  • 446
  • 653
2

You might want to take a look at Boar, "Simple version control and backup for photos, videos and other binary files".

Mats Ekberg
  • 1,695
  • 4
  • 15
  • 23
1

Scott Chacon over at GitHub has created a Git extension, git-media, which allows you to use Git to track your media files without actually storing those files in your Git repo.

bryan kennedy
  • 6,969
  • 5
  • 43
  • 64
0

git-annex allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, whether due to limitations in memory, time, or disk space.

git-annex is designed for git users who love the command line. For everyone else, the git-annex assistant turns git-annex into an easy to use folder synchroniser.

http://git-annex.branchable.com/

igorette
  • 41
  • 3
0

Mercurial has solid support for large binary files. I've been using it to version-control several thousand gzipped files. Just keep in mind that cloning the repo still means copying over all of the binary data that was ever stored under version control. On the other hand, with Subversion, you wouldn't have to copy the entire history just to work with the repo.

erjiang
  • 44,417
  • 10
  • 64
  • 100
0

TortoiseGit supports full git workflow for Office documents delegating diff to Office itself. It works also delegating to OpenOffice for OpenDocument formats.

Antonio Bardazzi
  • 2,996
  • 1
  • 23
  • 20