-#!/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,
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])
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):"
-grep '^C' cvs.out
+echo ""; echo " FILES UPDATED:"
+grep '^[UP] ' cvs.out
-echo ""; echo " FILES SUCCESSFULLY MERGED:"
-grep '^M' cvs.out | grep -v Merging
+echo ""; echo " UPDATE CONFLICTS OCCURRED FOR THE FOLLOWING FILES:"
+grep '^C ' cvs.out
+
+echo ""; echo " NEW FILES THAT NEED TO BE COMMITTED:"
+grep '^[AR] ' cvs.out
+
+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
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 ""