| 1 | = front-end to svnsyncing a remote svn repo = |
| 2 | |
| 3 | == Description == |
| 4 | |
| 5 | 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). |
| 6 | |
| 7 | This plugin is still a beta and is not as automated as could be. Also, svnsync is not 100% reliable -- for instance, it does not work as expected on edgewall's repositories. Like all holes, these can be patched if time and interest warrant. |
| 8 | |
| 9 | == Bugs/Feature Requests == |
| 10 | |
| 11 | Existing bugs and feature requests for SvnsyncPlugin are |
| 12 | [report:9?COMPONENT=SvnsyncPlugin here]. |
| 13 | |
| 14 | If you have any issues, create a |
| 15 | [http://trac-hacks.org/newticket?component=SvnsyncPlugin&owner=k0s new ticket]. |
| 16 | |
| 17 | == Download == |
| 18 | |
| 19 | Download the zipped source from [download:svnsyncplugin here]. |
| 20 | |
| 21 | == Source == |
| 22 | |
| 23 | You can check out SvnsyncPlugin from [http://trac-hacks.org/svn/svnsyncplugin here] using Subversion, or [source:svnsyncplugin browse the source] with Trac. |
| 24 | |
| 25 | == Example == |
| 26 | |
| 27 | 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: |
| 28 | |
| 29 | {{{ |
| 30 | [components] |
| 31 | svnsyncplugin.* = enabled |
| 32 | }}} |
| 33 | |
| 34 | Make sure your repository type is set to svnsync: |
| 35 | |
| 36 | {{{ |
| 37 | [trac] |
| 38 | repository_dir = /path/to/directory |
| 39 | repository_type = svnsync |
| 40 | }}} |
| 41 | |
| 42 | 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: |
| 43 | |
| 44 | {{{ |
| 45 | [svn] |
| 46 | repository_url = http://yoursvnserver.org/svn |
| 47 | }}} |
| 48 | |
| 49 | The repository will be synced on each request. The first sync (to get all past version) will take some time. You can get around this by using the svnsync.py script [UNIX syntax shown]: |
| 50 | |
| 51 | {{{ |
| 52 | `python -c 'import svnsyncplugin, os; print os.path.dirname(svnsyncplugin.__file__)'`/svnsync.py --directory /path/to/directory --repository http://yoursvnserver.org/svn |
| 53 | }}} |
| 54 | |
| 55 | == Recent Changes == |
| 56 | |
| 57 | [[ChangeLog(svnsyncplugin, 3)]] |
| 58 | |
| 59 | == Author/Contributors == |
| 60 | |
| 61 | '''Author:''' [wiki:k0s] [[BR]] |
| 62 | '''Contributors:''' |