blob: 2f120e0eb5553a9b30f737078435627684d10466 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#!$$SHELL$$
# abomination module:rvs:commit
name='rvs commit'
ver='0.6.0'
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 [ -l $file ]; type='l'; # symbolic link
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 [ -s $file ]; 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`
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"
rvs commit.f "$tmp"
rm "$tmp"
|