summaryrefslogtreecommitdiff
path: root/hooks/post-receive
diff options
context:
space:
mode:
Diffstat (limited to 'hooks/post-receive')
-rwxr-xr-xhooks/post-receive89
1 files changed, 3 insertions, 86 deletions
diff --git a/hooks/post-receive b/hooks/post-receive
index c52ac9c..7cc91f5 100755
--- a/hooks/post-receive
+++ b/hooks/post-receive
@@ -10,93 +10,10 @@ APPSTORE_HOME=$(git config appstore.home)
# stdin contains the refs pushed.
-conf_get() {
- name=$1; shift
- var=$1; shift
- value=$(app cat-conf -f "$APPS/appstore.config" -k "$var" | cut -f 2- -d =)
- eval ${name}='${value}'
-}
-
-check_app() {
- local app=$1; shift
-
- dir=$app
- conf_get resolver "${app}.resolver"
- conf_get resolver_args "${app}.resolver_args"
- conf_get version "${app}.version"
- conf_get state "${app}.state"
-
- if [[ -z $resolver ]] || [[ -z $resolver_args ]] || [[ -z $version ]] || [[ -z $state ]]
- then
- echo "$app: invalid configuration, missing one of ${app}.resolver, ${app}.resolver_args, ${app}.version, ${app}.state"
- return
- fi
-
- cd "$APPS"
-
- if [ -d "$dir" ]
- then
- cd "$dir"
- dir=`pwd`
- old_version=$(app conf get app.version)
-
- if [[ $new_version = $old_version ]]
- then
- echo "$dir: already at $version"
- continue
- fi
-
- echo "$dir: updating to $version"
- app conf set app.version "$version"
- app update
- else
- echo "$dir: new app"
- if [[ -r ${dir}.config ]]
- then
- append_config="${dir}.config"
- fi
-
- app init \
- ${append_config:+-c} $append_config \
- -d "$dir" \
- "$resolver" "$resolver_args"
- cd "$dir"
- dir=`pwd`
- fi
-
- cd "$dir"
-
- if [[ $state = enabled ]]
- then
- app start || true
- else
- app stop || true
- fi
-}
-
+#REPO="$(pwd)"
+REPO="$GIT_DIR"
APPS="$(git config appstore.apps)"
-REPO="$(pwd)"
-
-cd "$APPS"
-
unset GIT_DIR
-git pull -q "$REPO" master
-
-conf_get apps appstore.apps
-apps=$(echo "$apps" | sed "s/, */,/g")
-
-IFS=,
-for app in $apps
-do
- if [[ $app = "" ]]
- then
- continue
- fi
-
- assert_valid_app_name "$app"
-
- check_app "$app" || true
-done
-echo "Done."
+exec appstore server-sync "$REPO" "$APPS"