From fc019f7f036e45c14ca0dc05d8882cb9ec1c2c8b Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Sat, 7 Feb 2015 16:53:30 +0100 Subject: check-repo: Add script for repo validation. This script could be used in the commit hook and in the renew-config script. --- check-repo | 21 +++++++++++++++++++++ renew-config | 5 +---- 2 files changed, 22 insertions(+), 4 deletions(-) create mode 100755 check-repo diff --git a/check-repo b/check-repo new file mode 100755 index 0000000..2cdf7bb --- /dev/null +++ b/check-repo @@ -0,0 +1,21 @@ +#!/bin/sh + +. settings.sh + +DIR="$(mktemp -d)" +trap 'rm -rf "${DIR}"' EXIT INT TERM HUP + +echo "Running checks..." + +cd "$REPO" +if [ "$1" = "index" ]; then + git checkout-index -a --prefix="$DIR/" +else + git archive "${1:-HEAD}" | tar -x -C "$DIR/" +fi + +prepare-repository "$DIR" +mkdir "$DIR/SSHbase/" "$DIR/etc/" "$DIR/.git" + +bcfg2-lint -Q "${DIR}" +exit $? diff --git a/renew-config b/renew-config index e9aea35..db7cef2 100755 --- a/renew-config +++ b/renew-config @@ -18,10 +18,7 @@ if [ -n "$(git rev-list HEAD..FETCH_HEAD)" ]; then error "$REPO: HEAD does not equal to origin/master." fi -# update symlinks (needed for repo validation) -$BINDIR/prepare-repository - -if ! bcfg2-lint -Q "$REPO"; then +if ! $BINDIR/check-repo; then error "$REPO: bcfg2-lint detected errors." fi -- cgit v1.2.3-1-g7c22