diff --git a/get-modified-packages/get-modified-packages.sh b/get-modified-packages/get-modified-packages.sh index 781fda77..0324bdf7 100755 --- a/get-modified-packages/get-modified-packages.sh +++ b/get-modified-packages/get-modified-packages.sh @@ -49,6 +49,21 @@ function find_package_dir() { return 1 } +# Function to check if the base ref SHA is in the commit history +check_base_sha_in_history() { + git rev-list HEAD | grep -q "$(git rev-parse $base_sha)" +} + +# Fetch the initial shallow clone depth +depth=8 + +# Loop to deepen the fetch until the base ref SHA is included, +# deepening by a factor of 2 each time +while ! check_base_sha_in_history; do + depth=$((depth * 2)) + git fetch --deepen=$depth +done + # Find modified files from base branch modified_files=$(git diff --name-only "$base_sha"...HEAD)