3 # This script updates the entire tree, saves the output in cvs.out,
4 # and then separately prints out the files that had merge conflicts,
5 # those that were merged successfully, and those that are new.
6 # Note that this script uses "cvs update -P -d".
9 # cvsupdate ## normal run
10 # cvsupdate -n ## run grep commands on output of the last run of cvs
11 # cvsupdate -h ## usage information
16 alias usage 'echo "USAGE: $0:t [-h][-n]"; set pstatus = 1; goto cleanup'
20 while ( !( $?options_done ) && ($#argv > 0))
25 set doit = 0; shift argv; breaksw
27 set options_done; breaksw
32 /bin/mv -f cvs.out cvs.out.bak
33 cvs update -P -d >& cvs.out
34 if ($status != 0) then
35 echo "ERROR: CVS update failed: "
40 echo ""; echo "Not updating files."; echo ""
43 echo ""; echo " FILES UPDATED:"
46 echo ""; echo " UPDATE CONFLICTS OCCURRED FOR THE FOLLOWING FILES:"
49 echo ""; echo " FILES REMOVED FROM YOUR DIRECTORY:"
50 grep 'no longer in the repository' cvs.out
52 echo ""; echo " FILES SUCCESSFULLY MERGED (or locally modified):"
53 grep '^M' cvs.out | grep -v Merging
55 echo ""; echo " NEW FILES AND DIRECTORIES:"
56 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'
61 #=========================================================
62 # CODE TO BE EXECUTED IF INTERRUPT IS RECEIVED
63 #=========================================================