An idea for checking what the output from SVN is.
You can nifty things like this

OUTPUT=`svn co
http://balhbahl.com/blah`
Note that the ` is NOT an apostrophe (ie, not ') its the nonshift-~ thing.
What that will do is execute the svn command and redirect all stdout output in to the variable OUTPUT. From that you can do a check (note that there is probably a better way at doing this... but I can't find out how to get grep to take stdin:
OUTPUT=`svn co thesitetocheckout`
UPTODATE="At revision"
echo "$OUTPUT" | grep "$UPTODATE"
RESULT=$?
if [ $RESULT -eq 0 ]
then
echo "Its already up to date."
KIBAPLUGINS_STATUS=1
elif [ $RESULT -eq 1 ]
then
echo "It's not up to date and probably update. You could just directly search for Updated to revision X as well."
KIBAPLUGINS_STATUS=0
fi
Then later, you can check to see if it updated or not:
if [ KIBAPLUGINS_STATUS -eq 1 ]
then
#code to compile that section, which, in this case, is kibaplugins.
fi
You should be able to get somewhere with that information. And as a note of other useful things
OUTPUT=`svn co thesitetocheckout` could be expanded to:
OUTPUT=`svn co thesitetocheckout 2>./errorfile.log`
That redirects all stderr output to a file called errorfile.log You could then go through that file later, and display the actual errors to the script user in a very nice and organized manner, possibly even saying where to download the packages. You can redirect stdout is that manner as well using 1>./error or just >./error
It's a bit of work, but it does work

I've made a few scripts like that (I'm no script expert btw

I only recently started really using them as well, but once you know the basics... well, I now use SEVERAL scripts, semi complex ones, to do my everyday things

)
Good luck, ask questions if you need them. Perhaps we should take this to jabber or private messages or email.....