#! /bin/sh
# gitin: checkin for git files

# grep show-diff for +++ => error, print 'run update-cache <filenames>', exit
#	(better would be an error exit code)
# write-tree > current_tree_object
# print 'enter commit message:'
# commit-tree `cat current_tree_object` -p `cat .dircache/HEAD` > current_commit_object
# update .dircache/HEAD with current_commit_object

diffs=`show-diff | grep "+++"`
#echo diffs=/$diffs/

if [ x"$diffs" != x ]; then
	echo "run update-cache <filenames>"
	exit
fi

tree_object=`write-tree`
#echo tree_obj=/$tree_object/

head=`cat .dircache/HEAD`
echo "enter commit message: (end with ^D)"
commit_object=`commit-tree $tree_object -p $head`
#echo commit_obj=/$commit_object/

echo $commit_object > .dircache/HEAD
