diff options
author | Andy Doan <andy.doan@linaro.org> | 2015-01-28 14:02:17 -0600 |
---|---|---|
committer | Andy Doan <andy.doan@linaro.org> | 2015-01-28 14:02:17 -0600 |
commit | 1fc67884442302fbb771e59e666f7226c66ed3ab (patch) | |
tree | c634ac033ab10289303688e1646a875591ad25b1 /grok-gitolite-setup.sh | |
parent | ac6793e01a0e5c38b87f57fce123b60d7a60d63c (diff) |
add script to help initialize grokmirror logic
Change-Id: Ia40778f43eaf03262b2f3be35afd69da596c5645
Diffstat (limited to 'grok-gitolite-setup.sh')
-rwxr-xr-x | grok-gitolite-setup.sh | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/grok-gitolite-setup.sh b/grok-gitolite-setup.sh new file mode 100755 index 0000000..b137944 --- /dev/null +++ b/grok-gitolite-setup.sh @@ -0,0 +1,47 @@ +#!/bin/sh -e + +# performs steps to install the grokmirror trigger in gitolite + +if [ $# -ne 3 ] ; then + echo "Usage: $0 <gitolite-admin-username> <repo_root> <manifest path>" + exit 1 +fi + +repo=$(mktemp -d) +git clone $2/gitolite-admin.git $repo + +cd $repo +git config user.email "$USER@localhost" +git config user.name "$USER" +git config push.default simple + +mkdir -p local/triggers +cat >local/triggers/post-update.grokmirror <<EOF +#!/bin/sh -e + +repos=$2 +manifest=$3 + +log(){ + echo "post-git trigger: \$*" 1>&2 +} + +cd \$repos + +if [ "\$4" = "R" ] ; then + # gitolite read operation, no updates needed + exit 0 +fi + +log "updating grokmirror" +/usr/local/bin/grok-manifest -c -m \$manifest -t \$repos -n \$2.git +chmod 655 \$manifest +EOF + +chmod 755 local/triggers/post-update.grokmirror + +git add . +git commit -a -m "add grokmirror setup" +GL_USER=$(echo $1 | cut -d@ -f1) GL_REPO=gitolite-admin GL_LIBDIR=$HOME/gitolite/src/lib git push + +rm -rf $repo |