diff options
author | turret <turret@duck.com> | 2023-10-02 19:44:54 -0500 |
---|---|---|
committer | turret <turret@duck.com> | 2023-10-02 19:44:54 -0500 |
commit | a5e984df5ed5ec7a04558cd7b33bae43c0547f7a (patch) | |
tree | ece68377babee606c8156baa62ef13d84c558aec /github-mirror | |
download | hooks-a5e984df5ed5ec7a04558cd7b33bae43c0547f7a.tar.gz hooks-a5e984df5ed5ec7a04558cd7b33bae43c0547f7a.tar.bz2 hooks-a5e984df5ed5ec7a04558cd7b33bae43c0547f7a.zip |
add current hooks
Diffstat (limited to 'github-mirror')
-rwxr-xr-x | github-mirror | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/github-mirror b/github-mirror new file mode 100755 index 0000000..9223975 --- /dev/null +++ b/github-mirror @@ -0,0 +1,24 @@ +#!/bin/sh +# based on https://cgit.gentoo.org/infra/githooks.git/plain/github-mirror/github-mirror + +# simple gitolite mirroring + +# flush STDIN coming from git, because gitolite's own post-receive.mirrorpush +# script does the same thing +[ -t 0 ] || cat >/dev/null + +if [ -z "${GL_REPO}" ]; then + echo "GL_REPO not set" >&2 + exit 1 +fi + +targets=$(git config --get mirror.url) +[ -z "${targets}" ] && exit 0 + +[ -z "${GIT_SSH_KEY}" ] && export GIT_SSH_KEY=$(git config --get mirror.pubkey) +export GIT_SSH=$(dirname "$(readlink -f "$0")")/github-ssh-wrapper + +for target in ${targets}; do + # --force because someone may accidentally push into the mirror + git push --mirror --force ${target} +done |