46 lines
1.5 KiB
Bash
Executable File
46 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
PACKAGES_DIR="./packages"
|
|
export GIT_PAGER=cat
|
|
IGNORED_DIRS=("browser" "wxt-demo")
|
|
|
|
if [ ! -d "$PACKAGES_DIR" ]; then
|
|
echo "Error: Directory '$PACKAGES_DIR' not found."
|
|
exit 1
|
|
fi
|
|
|
|
echo "Checking for changes in packages since their last tag..."
|
|
echo ""
|
|
|
|
for dir in "$PACKAGES_DIR"/*; do
|
|
if [ -d "$dir" ]; then
|
|
pkg_name=$(basename "$dir")
|
|
|
|
# Check if the package name is in the ignored directories list
|
|
if [[ " ${IGNORED_DIRS[*]} " =~ " $pkg_name " ]]; then
|
|
echo "----------------------------------------"
|
|
echo "Skipping ignored package: $pkg_name"
|
|
continue # Skip to the next directory
|
|
fi
|
|
|
|
echo "----------------------------------------"
|
|
echo "Package: $pkg_name"
|
|
|
|
# Find the latest tag for the package, e.g., "my-package-v1.2.3"
|
|
# Sorts tags by version and picks the most recent one.
|
|
last_tag=$(git tag --list "${pkg_name}-v*" --sort=-v:refname | head -n 1)
|
|
|
|
if [ -n "$last_tag" ]; then
|
|
# If a tag is found, show commits since that tag for the specific package directory
|
|
echo "Commits since last tag ($last_tag):"
|
|
git log "${last_tag}..HEAD" --oneline -- "$dir" | grep -v -E "^[a-f0-9]* (chore|docs|refactor)" || true
|
|
else
|
|
# If no tag is found, show all commits for that package directory
|
|
echo "No tags found for this package. Listing all commits:"
|
|
git log --oneline -- "$dir" | grep -v -E "^[a-f0-9]* (chore|docs|refactor)" || true
|
|
fi
|
|
fi
|
|
done
|