[[PageOutline(2-5,Contents,pullout)]] = Front-end to svnsyncing a remote svn repo == Description '''Note''': Plugin seems to be incompatible with Trac v1.0. Trac does not provide an out-of-the-box solution for svn repositories that don't reside on the same server as Trac. SvnsyncPlugin provides a front-end to aid in the creation of a svnsync-ed repository locally. This requires svn 1.4 to be installed locally, including the svnsync command on the $PATH. This plugin is still a beta and is not as automated as it could be. Also, svnsync is not 100% reliable: for instance, it does not work as expected on edgewall's repositories. == Bugs/Feature Requests '''svnsync, and therefore the SvnsyncPlugin, requires the remote version svn server to be at least version 1.4; see the {{{svnsync}}} section of the [http://subversion.tigris.org/svn_1.4_releasenotes.html subversion 1.4]''' Existing bugs and feature requests for SvnsyncPlugin are [report:9?COMPONENT=SvnsyncPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=SvnsyncPlugin&owner=k0s new ticket]. [[TicketQuery(component=SvnsyncPlugin&group=type,format=progress)]] == Download Download the zipped source from [download:svnsyncplugin here]. == Source You can check out SvnsyncPlugin from [http://trac-hacks.org/svn/svnsyncplugin here] using Subversion, or [source:svnsyncplugin browse the source] with Trac. == Example In order to use this plugin, you must make some make some changes to the .ini file for your Trac project. First, enable the plugin: {{{#!ini [components] svnsyncplugin.* = enabled }}} Make sure your repository type is set to svnsync: {{{#!ini [trac] repository_dir = /path/to/directory repository_type = svnsync }}} Note that {{{repository_dir}}} is used as the destination directory for the sync. You must also give the repository_url you wish to sync to: {{{#!ini [svn] repository_url = http://yoursvnserver.org/svn }}} The repository will be synced on each request. The first sync (to get all past versions) will take some time. You can get around this by using the svnsync.py script [UNIX syntax shown]: {{{#!sh `python -c 'import svnsyncplugin, os; print os.path.dirname(svnsyncplugin.__file__)'`/svnsync.py --directory /path/to/directory --repository http://yoursvnserver.org/svn }}} == Recent Changes [[ChangeLog(svnsyncplugin, 3)]] == Author/Contributors ''Originally developed at [http://www.openplans.org The Open Planning Project]'' '''Author:''' [wiki:k0s] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:'''