#!$$SHELL$$ name='rvs commit' ver='0.7.0' # Copyright (C) 2009 Luke Shumaker # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # Originally written by Luke Shumaker . source "$RVSDIR/lib/stdio" # commit FILE if [ $# -gt 0 ]; then file="$1" else file='.' fi warn "$file" if [ ! -e $file ]; then error "file \`$file' does not exist"; # START file type list elif [ -L $file ]; then type='l'; # symbolic link elif [ -b $file ]; then type='b'; # block (buffered) special elif [ -c $file ]; then type='c'; # character (unbuffered) special elif [ -d $file ]; then type='d'; # directory elif [ -p $file ]; then type='p'; # named pipe (FIFO) elif [ -f $file ]; then type='f'; # regular file elif [ -s $file ]; then type='s'; # socket #elif [ -D $file ]; type='D'; # door (Solaris only) # END file type list else error "could not identify file type of \`$file'" fi ret=`rvs "commit.$type" "$file"` tmp=`tempfile` cat << __EOF__ > "$tmp" name:$file hash:$ret type:$type author:$user owner:$owner license:$license __EOF__ rvs commit.f "$tmp" rm "$tmp"