summaryrefslogtreecommitdiff
path: root/doc/todo/symlink_farming_commit_hook.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/todo/symlink_farming_commit_hook.mdwn')
-rw-r--r--doc/todo/symlink_farming_commit_hook.mdwn12
1 files changed, 12 insertions, 0 deletions
diff --git a/doc/todo/symlink_farming_commit_hook.mdwn b/doc/todo/symlink_farming_commit_hook.mdwn
new file mode 100644
index 000000000..af03beb70
--- /dev/null
+++ b/doc/todo/symlink_farming_commit_hook.mdwn
@@ -0,0 +1,12 @@
+TODO: implement below
+
+git-annex does use a lot of symlinks. Specicially, relative symlinks,
+that are checked into git. To allow you to move those around without
+annoyance, git-annex can run as a post-commit hook. This way, you can `git mv`
+a symlink to an annexed file, and as soon as you commit, it will be fixed
+up.
+
+`git annex init` tries to set up a post-commit hook that is itself a symlink
+back to git-annex. If you want to have your own shell script in the post-commit
+hook, just make it call `git annex` with no parameters. git-annex will detect
+when it's run from a git hook and do the necessary fixups.