summaryrefslogtreecommitdiff
path: root/.files/etc/abomination/modules/rvs/commit
blob: 6ff39a06c440c253e7da6e327439e8666561d4b1 (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
52
53
54
55
56
57
#!/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"