aboutsummaryrefslogtreecommitdiff
path: root/doc/tips/automatically_adding_metadata.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-03-02 18:01:07 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-03-02 20:11:58 -0400
commit66c4abb748f3982ef334a3320e49bfc6647e87d9 (patch)
tree1785f2bee2250d74a01c5de2e06b8b0b65822f45 /doc/tips/automatically_adding_metadata.mdwn
parente916f8028ce1f90e851166b35f3bcec976aa09b3 (diff)
pre-commit-annex hook script to automatically extract metadata from lots of types of files
Using the extract(1) program to do the heavy lifting. Decided to make git-annex run pre-commit-annex when committing. Since git-annex pre-commit also runs it, it'll be run when git commit is run too, via the pre-commit hook. This basically gives back the pre-commit hook that git-annex took away. The implementation avoids repeatedly looking for the hook script when the assistant is running and committing repeatedly; only checks if the hook is available once. To make the script simpler, made git-annex metadata -s field?=value only set a field when it's not already got a value. This commit was sponsored by bak.
Diffstat (limited to 'doc/tips/automatically_adding_metadata.mdwn')
-rw-r--r--doc/tips/automatically_adding_metadata.mdwn24
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/tips/automatically_adding_metadata.mdwn b/doc/tips/automatically_adding_metadata.mdwn
new file mode 100644
index 000000000..bd8fea737
--- /dev/null
+++ b/doc/tips/automatically_adding_metadata.mdwn
@@ -0,0 +1,24 @@
+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.
+
+* Install the `extract` utility, from <http://www.gnu.org/software/libextractor/>
+ `apt-get install extract`
+* Download [[pre-commit-annex]] and install it in your git-annex repository
+ as `.git/hooks/pre-commit-annex`.
+ Remember to make the script executable!
+* 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`