Added asserts to prevent negative shift amounts from being generated.
[oota-llvm.git] / utils / cvsupdate
index 125c6099cb7605ad06c15d4e7dc541c2f53ba19c..f09cd2f433a31056ac8b805502dba0fb375d817d 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/csh -f -c
+#!/bin/csh -f
 #
 # This script updates the entire tree, saves the output in cvs.out,
 # and then separately prints out the files that had merge conflicts,
@@ -16,6 +16,7 @@ onintr cleanup
 alias usage 'echo "USAGE: $0:t [-h][-n]"; set pstatus = 1; goto cleanup'
 
 set doit = 1
+set printnew = 0
 unset options_done
 while ( !( $?options_done ) && ($#argv > 0))
     switch ($argv[1])
@@ -23,26 +24,43 @@ while ( !( $?options_done ) && ($#argv > 0))
            usage
        case -n :
            set doit = 0; shift argv; breaksw
+       case -new :
+           set printnew = 1; shift argv; breaksw
        default :
            set options_done; breaksw
     endsw
 end
 
 if ($doit == 1) then
-    /bin/mv -f cvs.out cvs.out.bak
+    /bin/mv -f cvs.out cvs.out.bak >&/dev/null
     cvs update -P -d >& cvs.out
+##    if ($status != 0) then
+##        echo "ERROR: CVS update failed: "
+##     cat cvs.out
+##     exit 1
+    endif
 else
-    echo ""; echo "Not updating files."; echo ""
+    echo ""; echo "NOT UPDATING FILES.  RESULTS FROM LAST RUN:"; echo ""
 endif
 
-echo ""; echo "        UPDATE CONFLICTS OCCURRED FOR THE FOLLOWING FILES (OR NONE):"
+echo ""; echo "        FILES UPDATED:"
+grep '^U' cvs.out
+
+echo ""; echo "        UPDATE CONFLICTS OCCURRED FOR THE FOLLOWING FILES:"
 grep '^C' cvs.out
 
-echo ""; echo "        FILES SUCCESSFULLY MERGED:"
+echo ""; echo " FILES REMOVED FROM YOUR DIRECTORY:"
+grep 'no longer in the repository' cvs.out
+
+echo ""; echo "        FILES SUCCESSFULLY MERGED (or locally modified):"
 grep '^M' cvs.out | grep -v Merging
 
 echo ""; echo "        NEW FILES AND DIRECTORIES:"
-grep '^\?' cvs.out | & grep -v '/De[bp]' | grep -v '\.bc' | grep -v /Release | grep -v Updating | grep -v cvsup | grep -v 'cvs.out' | grep -v gnumake.out | grep -v tools/as/as | grep -v tools/dis/dis | grep -v tools/opt/opt | grep -v tools/analyze/analyze
+if ($printnew != 0) then
+    grep '^\?' cvs.out | & grep -v '\.bc' | grep -v Updating | grep -v cvsup | grep -v 'cvs.out' | grep -v gnumake.out | grep -v '\.mc$' | grep -v '\.s$' | grep -v '\.native'
+else
+    echo '(USE "cvsupdate -n -new" TO SEE NEW FILES AND DIRECTORIES.)'
+endif
 
 echo ""