diff options
Diffstat (limited to 'scripts/util/post-receive.sh')
-rw-r--r-- | scripts/util/post-receive.sh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/scripts/util/post-receive.sh b/scripts/util/post-receive.sh new file mode 100644 index 0000000..699cce6 --- /dev/null +++ b/scripts/util/post-receive.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# this should be on remote server + +CONF_FILE="/home/git/public_repos.conf" +REPO_NAME=$(basename $(pwd) .git) +PUBLIC_DIR="/var/www/git/$REPO_NAME" + +if grep -qx "$REPO_NAME" "$CONF_FILE"; then + echo "Syncing $REPO_NAME to public directory..." + rsync -a --delete --exclude '.git' /home/git/$REPO_NAME/ "$PUBLIC_DIR/" + echo "Public sync complete." +else + echo "$REPO_NAME is not marked as public. No action taken." +fi |