diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2014-09-05 01:31:14 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2014-09-05 01:31:14 -0400 |
commit | 4b70501e432eb5fd9ed04a4afbadafabd982e9fc (patch) | |
tree | b09fe80d9ec0ec3eb82f46dbfce960dc66aaf3f4 /misc/git-hooks | |
parent | 1ab58422fb47e22e178716efa3fbce5beabbc174 (diff) |
restructure to have most data in YAML
Diffstat (limited to 'misc/git-hooks')
-rwxr-xr-x | misc/git-hooks/auto-deploy | 16 | ||||
-rwxr-xr-x | misc/git-hooks/generic | 12 | ||||
-rwxr-xr-x | misc/git-hooks/hackers-update | 22 |
3 files changed, 50 insertions, 0 deletions
diff --git a/misc/git-hooks/auto-deploy b/misc/git-hooks/auto-deploy new file mode 100755 index 0000000..02a22e7 --- /dev/null +++ b/misc/git-hooks/auto-deploy @@ -0,0 +1,16 @@ +#!/bin/bash +# auto-deploy +# Usage: auto-deploy /srv/http/repo + +# fail on any error +set -e + +# Can we write on the clone? +test -w "${1}/.git/HEAD" + +alias git="git --git-dir '${1}/.git' --work-tree '${1}'" + +# pull this repo on the current branch +git pull origin $(git rev-parse --abbrev-ref HEAD) + +exit $? diff --git a/misc/git-hooks/generic b/misc/git-hooks/generic new file mode 100755 index 0000000..ebf56f4 --- /dev/null +++ b/misc/git-hooks/generic @@ -0,0 +1,12 @@ +#!/bin/sh +# Generic hook, installs itself as a valid githook(5) and runs whatever it +# finds on hacking.hook.$self +# Format: +# hacking.hooks.post-receive.auto-deploy /srv/http/markpower.hackcoop.com.ar + +git config -f config --get-regexp "hacking.hooks.$(basename ${0}).*" | \ +while read hook repo; do + hook="`echo "${hook}" | cut -d'.' -f4`" + + ${HOME}/.ssh/git-hooks/${hook} ${repo} ${@} </dev/stdin +done diff --git a/misc/git-hooks/hackers-update b/misc/git-hooks/hackers-update new file mode 100755 index 0000000..b78c54d --- /dev/null +++ b/misc/git-hooks/hackers-update @@ -0,0 +1,22 @@ +#!/bin/bash +# post-receive hook, updates /srv/git/.ssh after pushing to this repo +# install: +# git clone hackers.git .ssh +# cp .ssh/git-hooks/post-receive hackers.git/hooks/ + +# fail on any error +set -e + +# the ssh dir +ssh_dir=${HOME}/.ssh + +# pull this repo +git --git-dir ${ssh_dir}/.git \ + --work-tree ${ssh_dir} \ + pull origin master + +# secure the files (sshd will refuse connections otherwise) +chmod 600 ${ssh_dir}/authorized_keys +chmod 700 ${ssh_dir} + +exit $? |