summaryrefslogtreecommitdiffstats
path: root/bin/chkmanifest
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2009-07-09 16:46:41 (GMT)
committerLarry Knox <lrknox@hdfgroup.org>2009-07-09 16:46:41 (GMT)
commit39ad4fae0f60e34d09a4fff4322fb3767eea2e56 (patch)
treedb6c5372eb7f5fa309abc6ba07716ca85949d37c /bin/chkmanifest
parentba25a7671c7859687f949bf2b9eaf05c5c4687ad (diff)
downloadhdf5-39ad4fae0f60e34d09a4fff4322fb3767eea2e56.zip
hdf5-39ad4fae0f60e34d09a4fff4322fb3767eea2e56.tar.gz
hdf5-39ad4fae0f60e34d09a4fff4322fb3767eea2e56.tar.bz2
[svn-r17173] Add simple perl script supplied by user to check for duplicate entries in MANIFEST. Duplicate entries will be reported along with any other MANIFEST errors and cause exit value to be 1.
Tested on jam, linew, smirom, and tg-login2.
Diffstat (limited to 'bin/chkmanifest')
-rwxr-xr-xbin/chkmanifest22
1 files changed, 21 insertions, 1 deletions
diff --git a/bin/chkmanifest b/bin/chkmanifest
index dd30144..4f70a6d 100755
--- a/bin/chkmanifest
+++ b/bin/chkmanifest
@@ -107,6 +107,21 @@ else
fi
fi
+# Check for duplicate entries. This can be done at any time, but it may as
+# well be sooner so that if something else fails the presence of duplicates
+# will already be known.
+errcode=0
+DUPLICATES=`perl -ne 's/#.*//; next if /^\s*$/; if ($uniq{$_}++) { print $_; }' MANIFEST`
+if [ "$DUPLICATES" ]; then
+ cat 1>&2 <<EOF
+These entries appear more than once in the MANIFEST:
+$DUPLICATES
+Please remove the duplicate lines and try again.
+
+EOF
+errcode=1
+fi
+
# Copy the manifest file to get a list of file names.
grep '^\.' MANIFEST | expand | cut -f1 -d' ' >$MANIFEST
@@ -117,6 +132,7 @@ for file in `cat $MANIFEST`; do
fi
done
+
# Inspect the .svn/entries to figure out what version of svn file entry is
# used.
# The following algorithm is formed via reverse engineering.
@@ -130,7 +146,7 @@ if head -1 $svn_entry_file | grep 'xml version="1.0"' > /dev/null 2>&1;then
elif grep '^file$' $svn_entry_file > /dev/null 2>&1; then
getsvnentries=GETSVNENTRIES_14
else
- echo "Unknow svn entries format. Aborted"
+ echo "Unknown svn entries format. Aborted"
exit 1
fi
@@ -155,5 +171,9 @@ EOF
exit 1
fi
+if [ $errcode > 0 ]; then
+ exit $errcode
+fi
+
test "$verbose" && echo " The MANIFEST is up to date." 1>&2
exit 0