Ещё вариант, написать простого демона, использующего локальные сокеты и запущенного под правами того, от кого нужно сделать svn update.
Я как-то так сделал для решения похожей задачи. Но там надо было на 2х серваках одновременно делать svn up. На втором поднял своего демона слушающего какой-то там порт и если на него приконнектится, то делается svn up и сразу разрыв. Тут как вариант можно применить аналогичное решение, но т.к. нужно внутри одного сервака это делать, заюзать локальные сокеты.