Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Slightly improve error message when check_dist_archive fails.
[simgrid.git] / tools / check_dist_archive
index 22c717b..53b1d1f 100755 (executable)
@@ -81,15 +81,28 @@ find b -type f \
     | 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 [ -n "$colordiff" ]; then
-        "$colordiff" | less -R -F
+    if [ -x "$colordiff" ]; then
+        "$colordiff" | less -R -F -X
     else
-        less -F
+        less -F -X
     fi
 }
 
@@ -97,4 +110,6 @@ if [ "$interactive" = "1" ]; then
     diffcmd | colorless
 else
     diffcmd
-fi
+fi || true
+
+exit $status