From 677423cf4c24c193cd5e4d8cadc61978b07ed6da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20H=C3=A4rdeman?= Date: Sun, 20 May 2007 12:17:19 +0200 Subject: Add example scripts to integrate metastore with git --- examples/git-metapull | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ examples/pre-commit | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 examples/git-metapull create mode 100644 examples/pre-commit (limited to 'examples') diff --git a/examples/git-metapull b/examples/git-metapull new file mode 100644 index 0000000..789149f --- /dev/null +++ b/examples/git-metapull @@ -0,0 +1,49 @@ +#!/bin/bash +# +# This script can be used instead of git-pull when updating a remote +# repo to make sure the metadata matches what is stored in the repo. +# It will do a git-pull, show a list of changes to be made to the metadata, +# and after getting confirmation, apply the changes. + +DO_MTIME=yes +umask 0077 + + +if ! git-pull; then + echo "Failed to execute git-pull" >&2 + exit 1 +fi + +if [ ! -e ".metadata" ]; then + echo ".metadata missing" >&2 + exit 1 +fi + +echo "Going to apply the following metadata changes" >&2 +if [ "$DO_MTIME" = "yes" ]; then + metastore -c -m >&2 +else + metastore -c >&2 +fi + +echo -n "Ok to apply? (y/n): " >&2 +read -n1 REPLY +echo "" + +if [ "$REPLY" != "y" ]; then + echo "Aborted" >&2 + exit 1 +fi + +if [ "$DO_MTIME" = "yes" ]; then + flags="-a -m" +else + flags="-a" +fi + +if ! metastore $flags; then + echo "Failed to execute metastore $flags" >&2 + exit 1 +fi + +exit 0 diff --git a/examples/pre-commit b/examples/pre-commit new file mode 100644 index 0000000..e0e89dd --- /dev/null +++ b/examples/pre-commit @@ -0,0 +1,34 @@ +#!/bin/bash +# +# An example hook script to store metadata information using +# metastore on each commit. A verification message with a list +# of changes will first be shown and only if it is accepted will +# the commit proceed. + +echo "Going to commit the following metadata changes" >&2 +metastore -c -m >&2 +echo -n "Ok to commit? (y/n): " >&2 +read -n1 REPLY +echo "" + +if [ "$REPLY" != "y" ]; then + echo "Aborted" >&2 + exit 1 +fi + +if ! metastore -s; then + echo "Failed to execute metastore -s" >&2 + exit 1 +fi + +if [ ! -e ".metadata" ]; then + echo ".metadata missing" >&2 + exit 1 +fi + +if ! git-add .metadata; then + echo "Failed to execute git-add .metadata" >&2 + exit 1 +fi + +exit 0 -- cgit v1.2.1