I am considering using git annex for an existing work project that is getting bloated with compressed tarballs. We have a team of 7, so making the annex invisible to day to day use is important.
Are there any git hooks that will make the process of git checkout/merge etc automatically do a git annex get ..., our do I have to write these myself?
git-annex doesn't set up such hooks, but you can easily make a post-checkout and/or post-merge hook that runs, eg "git-annex get"
You might also want a pre-push hook that does "git annex copy --to origin" to make sure they upload their annexed files.
Or, change workflows to use
git annex sync --content
Yes, it looks simple enough to setup. Just have to test all the git use-cases to ensure it all works before migrating everyone to (transparently) use it. There are only a few big files (~80Mb), so most people won't need to worry about the annex. The way I'm going to do it is: 1. Put hook scripts into git under ./myhooks, so that a git pull will automatically update to latest hooks. 2. After cloning the git repo, run a setup script to create symlinks from ./.git/hooks/post-checkout etc to the ./myhooks and also setup the annex with something like: git annex init dummy-annex git remote add dummy-annex {ip}:/dummy-annex.git
So the developer does not have to notice the annex. Thanks Joey.