svnmirror.sh.txt v0.0.6

this script syncs changes from a developer repository to a READONLY public repository.
it supports pushing or pulling the changes via ssh and svn tools. its intended to be run manually or from cron.

things you have to take care of:
  1. you need write access to the directory structure on both boxes for more see the warning at:
    http://svnbook.red-bean.com/svnbook/ch06s03.html#svn-ch-6-sidebar-1.
    this warning only applies to bdb based repositories. if your repos is fsfs you only need read access on the source side.
  2. for running it from cron i suggest the use of the ssh agent e.g via keychain in general read “man ssh-agent” and “man ssh-keygen”.
  3. don’t run it from post commit scripts it can lead to broken public repositories!
  4. you do not have to be afraid of the public repos. if the pipe is broken nothing will be committed to it.
    21:40:47 <@sussman> tberman: welcome to atomic commits.
  5. for local syncing use “svnadmin hotcopy” see: “svnadmin help hotcopy
License:

the same as svn itself. for latest version check: http://svn.collab.net/repos/svn/trunk/subversion/LICENSE

thanks to the subversion team for their great work

Links:

if you do not like my solution check:

svnpush
http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn-push/svn-push.c
svn replicate
http://open.datacore.ch/wikipage/SVNreplicate
SVN::Mirror and SVN::Web
http://svn.elixus.org/repos/member/clkao/
http://svn.elixus.org/svnweb/repos/browse/member/clkao/
svk
a nice user interface for SVN::Mirror is svk. it can even mirror changes from arch now. See: http://svk.elixus.org/