From 9ca0a0076360c8fb409b9231792f89ee11c7eb23 Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Wed, 12 Apr 2023 15:28:39 +0200 Subject: [PATCH] Adding get_blob, get_commit_for_blob, changed_file_names. --- .githooks/post-merge | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.githooks/post-merge b/.githooks/post-merge index 8ff70b3..52b4ebb 100755 --- a/.githooks/post-merge +++ b/.githooks/post-merge @@ -17,6 +17,27 @@ OPKG_CMDS_TMP=/tmp/opkg_commands rm -f $GIT_PULL_TMP rm -f $OPKG_CMDS_TMP +get_blob () { # get the blob of the file(name) passed as $1 + # note: this can be used for any file in the filesystem + echo $(git hash-object $1) +} + +get_commit_for_blob () { + blob=$(get_blob $1) + if [ ! -z $blob ]; then + # search for the blob in all commits for the file(name) $1 + echo $(echo $(git log --all --pretty=format:%H -- $1) | + xargs -I{} bash -c "git ls-tree {} -- $1 | + grep -q $blob && echo {}") + fi +} + +changed_file_names () { + for fn in $(git diff-tree -r HEAD@{1} HEAD --name-only); do + CHANGED_FILE_NAMES+=($fn) + done +} + for fn in $(git diff-tree -r HEAD@{1} HEAD --name-only); do if grep -E -q "(DC.*json|dc.*hex|dc.*bin|tariff.*json)" <<< $fn; then fsize=0