diff options
author | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2015-02-07 16:53:30 +0100 |
---|---|---|
committer | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2015-02-07 16:53:30 +0100 |
commit | fc019f7f036e45c14ca0dc05d8882cb9ec1c2c8b (patch) | |
tree | 98d7baea592973cfa6de0d98a9eae7a7bf0146f6 | |
parent | cbed530b48e49d1c3a90fb7946733a2a63286270 (diff) | |
download | bcfg2-tools-fc019f7f036e45c14ca0dc05d8882cb9ec1c2c8b.tar.gz bcfg2-tools-fc019f7f036e45c14ca0dc05d8882cb9ec1c2c8b.tar.bz2 bcfg2-tools-fc019f7f036e45c14ca0dc05d8882cb9ec1c2c8b.zip |
check-repo: Add script for repo validation.
This script could be used in the commit hook and in the renew-config script.
-rwxr-xr-x | check-repo | 21 | ||||
-rwxr-xr-x | renew-config | 5 |
2 files changed, 22 insertions, 4 deletions
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 |