| sort > "$fb"
diffcmd() {
- diff -u "$fa" "$fb"
+ if cmp -s "$fa" "$fb"; then
+ status=0
+ echo "The archive looks good."
+ else
+ status=1
+ cat <<EOF
+ERROR: Some files are missing and/or unexpected in the archive.
+* lines beginning with '-' give files that are unexpected in the archive
+* lines beginning with '+' give files that are missing from the archive
+Please fix CMake files (e.g. "buildtools/Cmake/DefinePackages.cmake"),
+and/or "tools/check_dist_archive.exclude".
+EOF
+ diff -u "$fa" "$fb"
+ fi
}
colordiff=$(type -p colordiff)
colorless() {
if [ -x "$colordiff" ]; then
- "$colordiff" | less -R -F
+ "$colordiff" | less -R -F -X
else
- less -F
+ less -F -X
fi
}
diffcmd | colorless
else
diffcmd
-fi
+fi || true
+
+exit $status