Thanks for catching the problem.
I guess, it will be practical to use 1971 unless someone's timezone is off
by a year :-) Folks, who used RCS before 1971 are out of luck as well. Here
is a better featured version:
------------------ cut here --------------------------
#!/bin/sh
# lists files and directories in the module(s) on the server without
# checking them out
#
# Eugene Kramer <[EMAIL PROTECTED]>
usage()
{
echo "Usage:"
echo " cvsls [-bql] [-r rev | -D date] modules..."
echo " -b Print basename for files"
echo " -q Do not print versions"
echo " -l Local directory only, not recursive"
echo " -r rev List files and revisions for tag rev"
echo " -D date List files and revisions as of date"
}
while getopts lbqD:r: arg
do
case $arg in
r) tagsw="-r $OPTARG";;
D) datesw="-D $OPTARG";;
l) flat="-l";;
q) padver=" ";;
b) basename=" ";;
H) usage
exit 0;;
\?) usage
exit 1;;
esac
done
shift `expr $OPTIND - 1`
[ $# = 0 -o \( ! -z "$tagsw" -a ! -z "$datesw" \) ] && usage && exit 1
[ -z "$padver" ] && padver='(\1)' # extract revision in sed
[ -z "$basename" ] && basename='\1' # preserve file's path
cvs rdiff -s $flat -D 01/01/1971 $tagsw $datesw "$@" 2>&1 \
| sed -e 's/File.//' \
-e 's/is new; current revision./ (/' \
-e "s/(\([0-9][\.0-9]*\)/$padver/" \
-e 's/^cvs server: Diffing/cvs server: Listing/' \
-e "/^cvs server: Listing/!s@^\(.*/\)@$basename@" \
-e 's/[ ]*$//'