how to change the source of images?

How can one use Git to keep track of a multi-terabyte open-source movie project?

  • Every developer (director, editor, colorist, sound designer, etc) has the same source files on their separate systems located in different parts of the world. No changes are inflicted to the source files (video, audio, images) but their location in the project may change and new files may be added and folder structures must remain in sync between all the developers. The project files (Adobe Premiere, Adobe After Effects, Final Cut Pro, Pro Tools, etc) change frequently (thus needing revision control) but are less than 100mb in size each.

  • Answer:

    git, and indeed, most VCS popularly used by software developers, are not meant to accommodate enormous binary files (like art assets). Last I knew, git's file hashing algorithm broke down after some particular size because it relied on the whole file fitting in some fixed memory bounds. You can try and use something like AlienBrain ( http://www.alienbrain.com/ ) that is built for art assets, but I don't know how well it manages movies per se, although it is fantastic for static graphic assets and has a pretty UI for nontechnical folks. If you *really* want to force yourself to use git (or mercurial, or whatever else), you'll have to treat git as a kind of filesystem or backing store and layer your own program (or business processes) on top of it somehow. You can try and preserve individual snapshots of your movie stuff in S3, or stripe it across multiple drives or a SAN (or something else), and maintain references to it in git. You could then define your own 'gitmovie merge', "gitmovie add", "gitmovie rm" operations... somehow... however you want. Basically, it would be a lot of work to store art assets in VCS like git. You're probably better off rigorously documenting your work, and keeping multiple versions and filenames with everything. Edit: Although based on closer reading of your description, it seems doubtful you even really need something like 'git'. You probably need something closer to DropBox, or rsync, or unison, or something else just to synchronize the big files, and then potentially something like AlienBrain to handle the smaller art assets... I'm not seeing much in your use-case that suggests otherwise... Edit edit: Thanks to the magic of The Google, I've found that there are, in fact, big file management tools built on top of git, similar to what I described: http://git-annex.branchable.com/ https://github.com/schacon/git-media These look relatively inactive and immature, however, so use at your own risk...

Vaibhav Mallya at Quora Visit the source

Was this solution helpful to you?

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.