[[PageOutline(2-5,Contents,pullout)]] = Subversion connector for remote and local repositories using the svn command line client == Description This plugin allows you to connect to remote and/or local subversion repositories. It uses the subversion command line client {{{svn}}} so no subversion-python bindings need to be installed which sometimes can be a daunting task. This is a direct connector without any caching so initial viewing of large trees is slow especially for remote ''Http:''/''Https:'' repositories like https://trac-hacks.org/svn. Same for very large changesets. Nevertheless working with subtrees (like https://trac-hacks.org/svn/peerreviewplugin) is going well. == Status Note that this plugin is still in development so bugs may exist and features may still be missing. * ~~No support for properties~~ ''(implemented now)'' * ~~No preview for certain files containing unicode characters~~ ''(implemented now)'' * Context navigation for ''Next Revision'' doesn't work * ~~Timeline sometimes doesn't show changes. Seen on trac-hacks.org for periods long ago. Current changes (first page) are visible.~~ (fixed) * No caching (as designed) == !Bugs/Feature Requests Existing bugs and feature requests for SvnCliRemotePlugin are [report:9?COMPONENT=SvnCliRemotePlugin here]. If you have any issues, create a [/newticket?component=SvnCliRemotePlugin new ticket]. [[TicketQuery(component=SvnCliRemotePlugin&group=type,format=progress)]] **Note:** Without access to the repository it's difficult or even impossible to debug any problems. So try to provide a link to a public repository showing the bug when creating a bugreport. == Download Download the zipped source from [export:svncliremoteplugin here]. == Source You can check out SvnCliRemotePlugin from [/svn/svncliremoteplugin here] using Subversion, or [source:svncliremoteplugin browse the source] with Trac. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. Enable the plugin from the Trac plugin admin page or by adding the following to your {{{trac.ini}}} file: {{{#!ini [components] subversioncli.svn_cli.subversioncliconnector = enabled }}} == Configuration Use the Trac repository admin page to configure a repository. There are two connector types available: * `svn-cli-direct` for local repositories * `svn-cli-remote` for remote repositories like ''http:'' or ''https:'' === Local repository For local repositories you have to provide an ''absolute path'' to the repository directory. Choose `svn-cli-direct` as connector. === Remote repository There is no native support for remote subversion repositories in Trac. The admin page checks if an entered path is a local one, more specifically if it's an absolute one. The path doesn't have to exist, though. We have to trick Trac into accepting a Url by prepending it with a slash `/` (or `x:\ ` when running Trac on Windows) like this: {{{ /https://trac-hacks.org/svn }}} or {{{ x:\https://trac-hacks.org/svn }}} Choose `svn-cli-remote` as connector. === Subtree as repository You may create a repository for a subtree of some larger repository. This may be useful if a repository contains a lot of independent projects like for example here at https://trac-hacks.org. As an example use this directory path to create a repository for the project PeerReviewPlugin: {{{ /https://trac-hacks.org/svn/peereviewplugin }}} === Hints Set the following in your ''trac.ini'': {{{#!ini [timeline] changeset_show_files = 0 }}} This speeds up the display of the timeline because less information must be queried. == Recent Changes [[ChangeLog(svncliremoteplugin, 3)]] == !Author/Contributors **Author:** [wiki:Cinc-th] [[BR]] **Maintainer:** [[Maintainer]] [[BR]] **Contributors:**