diff --git a/.githooks/post-merge b/.githooks/post-merge index e69de29..e1a02b2 100644 --- a/.githooks/post-merge +++ b/.githooks/post-merge @@ -0,0 +1,34 @@ +#!/bin/bash - + +# FILE="/tmp/post-merge$(date +%FT%H-%M-%S)" +# commit=$(git rev-parse --verify HEAD) +# echo "$commit $(git cat-file commit $commit)" >> /tmp/post-merge + +# Redirect output to stderr. +exec 1>&2 + +if [ -z $IFS ]; then + IFS=$'\n' +fi + +GIT_PULL_TMP=/tmp/git_pull +OPKG_CMDS_TMP=/tmp/opkg_commands + +rm -f $OPKG_PULL_TMP +rm -f $OPKG_CMDS_TMP + +for fn in $(git diff-tree -r HEAD@{1} HEAD --name-only); do + if grep -E -q ".*(DC*.json|dc/dc2c.hex)" <<< $fn; then + echo "$fn" >> $GIT_PULL_TMP + fi + if grep -E -q ".*opkg_commands" <<< $fn; then + readarray opkg_commands < <(cat $fn) + for opkg_c in "${opkg_commands[@]}"; do + test -z $opkg_c && continue; + test ! -z $(grep -E "^\s*[#]+.*$" <<< $opkg_c) && continue + echo -n "$opkg_c" | tr -d '\n\r' >> $OPKG_CMDS_TMP 2>&1 + echo "" >> $OPKG_CMDS_TMP 2>&1 + done + source "$fn" + fi +done