Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


I want to manage libraries of media files (music, images) using git, there is git-annex but it requires haskel platform - but they do not play together well (also it's quite to big dependency for me).


Is there any other plugin with this functionality, or possibly would it be possible to write such plugin (resources?).

Similar questions:

share|improve this question
up vote 2 down vote accepted

There's also git-media. I've started to use this to version large media files, so far I've been pleased. The main repo doesn't seem to be maintained anymore, but I've pulled all the latest updates into my own fork.

It does require ruby to run it, but I'm also contemplating rewriting it in something else.

share|improve this answer
ruby is good for me, thank you for the link! – mpapis Dec 21 '12 at 22:26

git-annex is, as far as I know, the best tool around if you're determined to use git in this manner. I wouldn't recommend using git like this, it's really not meant for it. I know perforce handles binary files well, and there are several commercial products that effectively do version control for media, aleinbrain comes to mind off the top of my head.

Also, it's not quite clear what you mean by "they don't play well together". What doesn't? In what way?

share|improve this answer
the issue with git-annex was for me it requires certain set of haskel libraries which is neither easy to get by compilation or from package manager, after spending few hours on installing all the dependencies I still was in forest while nothing was working (I'm quite good in solving compilation problems). I wanted to use git (git-annex) as it will provide file versioning, possibility to use central storage for multiple users and as a side effect it should be easy to find duplicates as git already should have hashes of all the stored files - anything I can dream for media library, for free. – mpapis Aug 28 '12 at 11:52
I'm a huge git fan but jeremiahd is right: large binary file storage is one of the few use cases where git underperforms the competition. The problem, in part, is the diffs. By definition the index must track every previous indexed state of every file. If this is a huge repository and the files change often, you could be much better off with subversion. I can't believe I just typed that. – Christopher Aug 28 '12 at 12:40
that's why I wanted to use git-annex, to take advantage of git handling file hashses but not falling with performance, but as git-annex is not working choice (for me), I want to find alternative - or build one, if someone refers me to some good example / tutorial / documentation for this. – mpapis Aug 28 '12 at 14:04
There isn't one. It's git-annex or use an appropriate tool, as far as I know. It's difficult to do because it's not the type of thing that git is meant for, so people tend to use something else, and the few people who really want or need to use git in that manner are few and far between. – jeremiahd Aug 28 '12 at 14:33

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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