From 14aaf038c75432fd6068d53261b4f3760140f36c Mon Sep 17 00:00:00 2001 From: Ed Sanders Date: Thu, 20 Jun 2024 14:44:28 +0100 Subject: [PATCH] updateSubmodule: Handle modified i18n keys Change-Id: I02a391bdad1b277c668e2a61bc44c6ac5c849122 --- bin/updateSubmodule.sh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/bin/updateSubmodule.sh b/bin/updateSubmodule.sh index 89215d60db..399864e9f7 100755 --- a/bin/updateSubmodule.sh +++ b/bin/updateSubmodule.sh @@ -45,13 +45,21 @@ else fi # Generate commit summary -# TODO recurse NEWCHANGES=$(git log ..$TARGET --oneline --no-merges --topo-order --reverse --color=never) TASKS=$(git log ..$TARGET --no-merges --format=format:%B | grep "Bug: T" | sort | uniq) - ADDED_I18N_KEYS=$(git diff HEAD..$TARGET -- i18n/en.json | grep -E '^\+' | grep --color=never -vE '^\+\+\+' | sed -E 's/^\+\s*"([^"]+)":.*/\1/' | sed 's/^/- /' || :) -DELETED_I18N_KEYS=$(git diff HEAD..$TARGET -- i18n/en.json | grep -E '^\-' | grep --color=never -vE '^\-\-\-' | sed -E 's/^\-\s*"([^"]+)":.*/\1/' | sed 's/^/- /' || :) # Ensure script continues if grep "fails" (returns nothing) with || : (due to -e flag in bash) + +# Addede/removed i18n keys + ADDED_I18N_KEYS=$(git diff HEAD..$TARGET -- i18n/en.json | grep -E '^\+' | grep --color=never -vE '^\+\+\+' | sed -E 's/^\+\s*"([^"]+)":.*/\1/' | sed 's/^/- /' || :) +DELETED_I18N_KEYS=$(git diff HEAD..$TARGET -- i18n/en.json | grep -E '^\-' | grep --color=never -vE '^\-\-\-' | sed -E 's/^\-\s*"([^"]+)":.*/\1/' | sed 's/^/- /' || :) +# Find common keys (modified keys) +MODIFIED_KEYS=$(echo -e "$ADDED_I18N_KEYS\n$DELETED_I18N_KEYS" | sort | uniq -d) +# Remove modified keys from the added and removed lists + ADDED_I18N_KEYS=$(echo "$ADDED_I18N_KEYS" | grep -vxF -f <(echo "$MODIFIED_KEYS") | sed 's/^/- /') +DELETED_I18N_KEYS=$(echo "$DELETED_I18N_KEYS" | grep -vxF -f <(echo "$MODIFIED_KEYS") | sed 's/^/- /') + +# Added/removed files ADDED_FILES=$(git diff HEAD..$TARGET --name-only --diff-filter=A | grep --color=never -E "\.(js|css|less)$" | sed 's/^/- /' || :) DELETED_FILES=$(git diff HEAD..$TARGET --name-only --diff-filter=D | grep --color=never -E "\.(js|css|less)$" | sed 's/^/- /' || :)