check-pr: only check if new platform-specific page exists as common duplicate (#11993)

pull/23/head
Sebastiaan Speck 2024-01-06 19:13:20 +01:00 committed by GitHub
parent 6cacb2d8f1
commit 31dd28e9a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 13 deletions

View File

@ -5,11 +5,9 @@
# It currently accomplishes the following objectives: # It currently accomplishes the following objectives:
# #
# 1. Detect pages that were just copied (i.e. cp pages/{common,linux}/7z.md). # 1. Detect pages that were just copied (i.e. cp pages/{common,linux}/7z.md).
# 2. Detect pages that were added in a platform specific directory although # 2. Detect English pages that were added in a platform specific directory although
# they already exist under 'common'. # they already exist under 'common'.
# 3. Detect pages that were added in the 'common' platform although they # 4. Detect translated pages that do not exist as English pages yet.
# already exist under a platform specific directory.
# 4. Detect pages that do not exist as English pages yet.
# 5. Detect outdated pages. A page is marked as outdated when the number of # 5. Detect outdated pages. A page is marked as outdated when the number of
# commands differ from the number of commands in the English page or the # commands differ from the number of commands in the English page or the
# contents of the commands differ from the English page. # contents of the commands differ from the English page.
@ -38,14 +36,8 @@ function check_duplicates {
local file=${parts[2]} local file=${parts[2]}
case "$platform" in case "$platform" in
common) # check if page already exists in other platforms common) # skip common-platform
for other in ${PLATFORMS/common/}; do
if [[ -f "pages/$other/$file" ]]; then
printf "\x2d $MSG_EXISTS" "$page" "$other"
fi
done
;; ;;
*) # check if page already exists under common *) # check if page already exists under common
if [[ -f "pages/common/$file" ]]; then if [[ -f "pages/common/$file" ]]; then
printf "\x2d $MSG_EXISTS" "$page" 'common' printf "\x2d $MSG_EXISTS" "$page" 'common'
@ -150,10 +142,13 @@ function check_diff {
printf "\x2d $MSG_IS_COPY" "$file2" "$file1" "$percentage" printf "\x2d $MSG_IS_COPY" "$file2" "$file1" "$percentage"
;; ;;
A|M) # file1 was newly added or modified A) # file1 was newly added
check_duplicates "$file1" check_duplicates "$file1"
check_missing_english_page "$file1" check_missing_english_page "$file1"
check_outdated_page "$file1" check_outdated_page "$file1"
M) # file1 was modified
check_missing_english_page "$file1"
check_outdated_page "$file1"
;; ;;
esac esac
done <<< "$git_diff" done <<< "$git_diff"
@ -180,7 +175,7 @@ function check_structure {
# MAIN # MAIN
################################### ###################################
MSG_EXISTS='The page `%s` already exists under the `%s` platform.\n' MSG_EXISTS='The page `%s` already exists in the `%s` directory.\n'
MSG_NOT_EXISTS='The page `%s` does not exists as English page `%s` yet.\n' MSG_NOT_EXISTS='The page `%s` does not exists as English page `%s` yet.\n'
MSG_OUTDATED='The page `%s` is outdated, %s.\n' MSG_OUTDATED='The page `%s` is outdated, %s.\n'
MSG_IS_COPY='The page `%s` seems to be a copy of `%s` (%d%% matching).\n' MSG_IS_COPY='The page `%s` seems to be a copy of `%s` (%d%% matching).\n'