#!/bin/bash
find -name .cvsignore -exec rm {} \;
-cvs up | grep -v .cvsignore | awk '{print $NF}' | grep -v cleanup >& cvsup
-rm -vrf $(<cvsup) `find -name '*~' -o -name '*.o' -o -name '.#*'`
+cvs up -C -I'!' | \
+ grep -v -e .cvsignore -e '^[UP(]' | \
+ awk '{print $NF}' | \
+ grep -v cleanup >& cvsup
+cat cvsup | xargs rm -vrf
+find '(' -name '*~' -o -name '*.o' -o -name '.#*' ')' -print0 | xargs -0 rm -vf
cvs up > /dev/null
rm -f cvsup