git-annex's metadata works best when files have a lot of useful metadata attached to them.

To make git-annex automatically set the year and month when adding files, run git config annex.genmetadata true.

A git commit hook can be set up to extract lots of metadata from files like photos, mp3s, etc.

  1. Install the extract utility, from http://www.gnu.org/software/libextractor/
    apt-get install extract
  2. Download pre-commit-annex and install it in your git-annex repository as .git/hooks/pre-commit-annex.
    Remember to make the script executable!
  3. Run: git config metadata.extract "artist album title camera_make video_dimensions"

Now any fields you list in metadata.extract to will be extracted and stored when files are committed.

To get a list of all possible fields, run: extract -L | sed ' ' _

By default, if a git-annex already has a metadata field for a file, its value will not be overwritten with metadata taken from files. To allow overwriting, run: git config metadata.overwrite true

http://projects.iq.harvard.edu/fits might be an even better choice than libextractor. We use it in work and its not too bad, but it can be slow to startup due to the JVM.
Comments on this page are closed.