Thanks clkao (高大師) for the great svn-mirror tool. I am using svn-mirror 0.68-3 on Debian Etch for mirror svn repository from the damn far and slow European svn server, so I can enjoy the super faster checkout and show the log messages on local server.
However, since the the svn server is slow and connection is not stable (otherwise I don’t need svn-mirror anyway). The connection might be dropped or the process could be killed by accident in the long mirroring process. The problem is once the program is killed (Ex: by Control+C), then it will run into a dead lock situation. You will keep seeing this messages, and never get the mirror work again.
Waiting for sync lock on /mirror/remote: openwrt:25221.
In order to fix the problem, I wrote a simple script svn-mirror-unlock.pl. It’s for clean the dead lock.
$ svn-mirror-unlock.pl svn-mirror-unlock.pl: unlock SVMREPOS path $ perl svn-mirror-unlock.pl unlock /home/svn mirror/remote