feature: limit the number of commits to be validated #9

Merged
phil merged 2 commits from limit-num-commits-validated into main 2025-06-02 04:10:48 +00:00
Showing only changes of commit 4437b66f67 - Show all commits

View File

@@ -42,7 +42,7 @@ if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi
. "$DIR/timestamping"
declare -i MINVERSION=$TIMESTAMPING_VERSION
declare -i MAX_COMMITS_TO_CHECK=20
declare -i MAX_COMMITS_TO_CHECK=0
phil marked this conversation as resolved Outdated
Outdated
Review

what about setting it to infinity for default, so that the original behavior does not change

what about setting it to infinity for default, so that the original behavior does not change
Outdated
Review

Done 0 means "infinity" and is now the default.

Done `0` means "infinity" and is now the default.
declare -A PROCESSED_COMMIT
while [[ $# -gt 0 ]]; do
@@ -318,8 +318,10 @@ validate_commit_and_parents() {
if ! validate_commit "$COMMIT_HASH"; then
ALL_PASSED=false
fi
# If MAX_COMMITS_TO_CHECK is zero (or a negative number) then that is understood as "infinity".
# So perform the next commit check if we have not reached the limit, or if the limit is "infinity".
NUM_COMMITS_CHECKED=${#PROCESSED_COMMIT[@]}
if [[ ${NUM_COMMITS_CHECKED} -lt ${MAX_COMMITS_TO_CHECK} ]] ; then
if [[ ${NUM_COMMITS_CHECKED} -lt ${MAX_COMMITS_TO_CHECK} ]] || [[ ${MAX_COMMITS_TO_CHECK} -lt 1 ]]; then
local PARENTS=$(git cat-file -p "$COMMIT_HASH" | awk '/^$/{exit} /parent/ {print}' | sed 's/parent //')
#iterate over all parents of commit
if [ ! -z "$PARENTS" ]; then