aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlib/hydra/hooks/post-receive20
-rwxr-xr-xshare/hydractl/sync-media-export2
2 files changed, 22 insertions, 0 deletions
diff --git a/lib/hydra/hooks/post-receive b/lib/hydra/hooks/post-receive
new file mode 100755
index 0000000..ff7cf50
--- /dev/null
+++ b/lib/hydra/hooks/post-receive
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+# Post-receive git hook
+#
+
+cd ..
+unset GIT_DIR
+
+if [ -d ".git/annex" ]; then
+ git annex sync
+else
+ git config receive.denyCurrentBranch ignore
+ #git reset HEAD
+ git checkout -f
+fi
+
+git submodule update --init --recursive
+
+cd -
+exec git update-server-info
diff --git a/share/hydractl/sync-media-export b/share/hydractl/sync-media-export
index 5c5630d..8cf44cb 100755
--- a/share/hydractl/sync-media-export
+++ b/share/hydractl/sync-media-export
@@ -30,8 +30,10 @@ for file in `ls $MEDIA`; do
continue;
fi
+ # If remote destination, add a git post-receive hook
if [ -d "$file/.git" ]; then
git clone $file $file.git && \
+ cp -a $APP_BASE/lib/hydra/hooks/post-receive $file.git/.git/hooks/post-receive && \
rsync -avz $file.git/ $DESTINATION:/var/cache/media/$file/ && \
rm -rf $file.git
else