#!/bin/bash # abomination module:rvs:commit name='rvs commit' ver='0.5.10' usage='[OPTIONS] [FILE]' # 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 "`rvs -d`/lib/stdio" source "`rvs -d`/lib/rvsdb" # commit FILE if [ $# -gt 0 ]; then file="$1" else file='.' fi if [ ! -e $file]; then error "file \`$file' does not exist"; # START file type list #elif [ -b $file ]; type='b'; # block (buffered) special #elif [ -c $file ]; type='c'; # character (unbuffered) special elif [ -d $file ]; type='d'; # directory #elif [ -p $file ]; type='p'; # named pipe (FIFO) elif [ -f $file ]; type='f'; # regular file #elif [ -l $file ]; type='l'; # symbolic link #elif [ -s $file ]; type='s'; # socket #elif [ -D $file ]; type='D'; # door (Solaris only) # END file type list fi ret=`rvs "commit.$type" "$file"` tmp=`tempfile` loginit "$tmp" logwrite "$tmp" 'name' "$file" logwrite "$tmp" 'hash' "$ret" logwrite "$tmp" 'type' "$type" logwrite "$tmp" 'author' "$user" logwrite "$tmp" 'owner' "$owner" logwrite "$tmp" 'owner' "$license" #parents=`logfind "$repo/co" "$file"` the checkout log is getting an overhaul #logwrite "$tmp" 'parents' "$parents" #case "$type" in # f) # #logwrite "$tmp" 'f.type' "$" # :;; #esac rvs commit.f "$tmp" rm "$tmp"