delete-old-changelog.sh 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. [ "${DEBUG:-0}" = 1 ] && set -x
  4. top_dir="$(git rev-parse --show-toplevel)"
  5. prev_ce_tag="$("$top_dir"/scripts/find-prev-rel-tag.sh 'emqx')"
  6. prev_ee_tag="$("$top_dir"/scripts/find-prev-rel-tag.sh 'emqx-enterprise')"
  7. ## check if a file is included in the previous release
  8. is_released() {
  9. file="$1"
  10. prev_tag="$2"
  11. # check if file exists in the previous release
  12. if git show "$prev_tag:$file" >/dev/null 2>&1; then
  13. return 1
  14. else
  15. return 0
  16. fi
  17. }
  18. ## loop over files in $top_dir/changes/ce
  19. ## and delete the ones that are included in the previous ce and ee releases
  20. while read -r file; do
  21. if is_released "$file" "$prev_ce_tag" && is_released "$file" "$prev_ee_tag"; then
  22. echo "deleting $file, released in $prev_ce_tag and $prev_ee_tag"
  23. rm -f "$file"
  24. fi
  25. done < <(find "$top_dir/changes/ce" -type f -name '*.md')
  26. ## loop over files in $top_dir/changes/ee
  27. ## and delete the ones taht are included in the previous ee release
  28. while read -r file; do
  29. if is_released "$file" "$prev_ee_tag"; then
  30. echo "deleting $file, released in $prev_ee_tag"
  31. rm -f "$file"
  32. fi
  33. done < <(find "$top_dir/changes/ee" -type f -name '*.md')