mirror of
https://github.com/clearlinux/graphene.git
synced 2026-08-03 10:38:01 +00:00
52 lines
1.4 KiB
Bash
Executable File
52 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -eu -o pipefail
|
|
|
|
top_dir="$(readlink -m "${BASH_SOURCE[0]}/../..")"
|
|
|
|
# Also allow operation on a copy named ${orig_top_dir}.clean-check.${something}
|
|
# I.e., .../graphene.clean-check.test/Scripts/clean-check will check:
|
|
# .../graphene.clean-check.test against .../graphene.clean-check.clean
|
|
clean_dir="${top_dir%.clean-check.*}.clean-check.clean"
|
|
|
|
if [ -n "${JENKINS_HOME:-}" ] || [ -n "${HUDSON_HOME:-}" ]; then
|
|
clean_dir="/tmp/$(basename "$clean_dir")"
|
|
fi
|
|
|
|
show_diff=false
|
|
if [ "${1:-}" == "--show-diff" ]; then
|
|
show_diff=true
|
|
fi
|
|
|
|
if ! [ -d "$clean_dir" ]; then
|
|
echo "ERROR: Copy of clean source directory not found!"
|
|
echo
|
|
echo "You need to call clean-check-prepare on the clean source directory before using"
|
|
echo "clean-check."
|
|
exit 1
|
|
fi
|
|
|
|
trap 'rm -rf "$diff"' EXIT
|
|
diff="$(mktemp)"
|
|
|
|
if [ "$show_diff" == true ]; then
|
|
diff_opts="-u"
|
|
else
|
|
diff_opts="-q"
|
|
fi
|
|
|
|
ok=true
|
|
diff "$diff_opts" -x .git -r "$clean_dir" "$top_dir" > "$diff" || ok=false
|
|
|
|
if [ "$ok" == true ]; then
|
|
echo "Source tree is unchanged. :]"
|
|
exit 0
|
|
fi
|
|
|
|
echo "================================================================================"
|
|
echo " ERROR: Source tree is not unchanged after clean:"
|
|
echo "--------------------------------------------------------------------------------"
|
|
cat "$diff"
|
|
echo "================================================================================"
|
|
exit 1
|