diff options
-rwxr-xr-x | bin/chkmanifest | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/bin/chkmanifest b/bin/chkmanifest index 02127cc..6188eab 100755 --- a/bin/chkmanifest +++ b/bin/chkmanifest @@ -81,8 +81,13 @@ done # check those. svn_stat="$(svn stat -q)" for file in $svn_stat; do + # Newly added files are not listed by svn ls, which + # we check below.. + # The line listing them starts with 'A'. letter="$(echo $file | head -c 1)" if [ "$letter" = "A" ]; then + # Convert 'A ' to './' so it matches + # the manifest file name. path=`echo $file | sed 's/^A\s*/\.\//g'` # Ignore directories if [ ! -d $path ]; then @@ -96,15 +101,22 @@ for file in $svn_stat; do fi done -# Next check svn info, which gets a list of all files that are +# Next check svn ls, which gets a list of all files that are # checked in. svn_ls="$(svn ls -R)" for file in $svn_ls; do path="./${file}" + # Ignore directories + if [ ! -d $path ]; then + if (grep ^$path$ $MANIFEST >/dev/null); then + : + else + echo "+ $path" + fail=yes + fi + fi done - - # Finish up if [ "X$fail" = "Xyes" ]; then cat 1>&2 <<EOF |