#!/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 <lukeshu@sbcglobal.net>.

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"