Step 1) Create the script /etc/init.d/svnserve
#!/bin/bash
### BEGIN INIT INFO
# Provides: svnserve
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start/stop svnserve
### END INIT INFO
svnserve -d -r /PATH/TO/YOUR/REPOSITORY
### BEGIN INIT INFO
# Provides: svnserve
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start/stop svnserve
### END INIT INFO
svnserve -d -r /PATH/TO/YOUR/REPOSITORY
Step 2) Make it executable
chris@chris-pc:~$ chmod u+x /etc/init.d/svnserve
Step 3) Create links from runlevels to the script
chris@chris-pc:~$ update-rc.d svnserve
update-rc.d: using dependency based boot sequencing
update-rc.d: using dependency based boot sequencing
Step 4) Check the links were created correctly
chris@chris-pc:~$ find /etc/ -name '*svnserve*'
/etc/rc5.d/S19svnserve
/etc/rc0.d/K01svnserve
/etc/rc4.d/S19svnserve
/etc/rc3.d/S19svnserve
/etc/init.d/svnserve
/etc/rc6.d/K01svnserve
/etc/rc1.d/K01svnserve
/etc/rc2.d/S19svnserve
/etc/rc5.d/S19svnserve
/etc/rc0.d/K01svnserve
/etc/rc4.d/S19svnserve
/etc/rc3.d/S19svnserve
/etc/init.d/svnserve
/etc/rc6.d/K01svnserve
/etc/rc1.d/K01svnserve
/etc/rc2.d/S19svnserve
For Step 3, the command "update-rc.d svnserve" did not work for me, I had to specify defaults : "update-rc.d svnserve defaults"