.. -*- mode: rst -*- .. _server-plugins-version-svn: === Svn === The Svn plugin is useful if you would like to track changes to your Bcfg2 repository using a `Subversion `_ backend. As with the other Version plugins, the Svn plugin enables you to get revision information out of your repository for reporting purposes. Once the plugin is enabled, every time a client checks in, it will include the current repository revision in the reports/statistics. Additionally, if the ``pysvn`` library is installed, the Svn plugin exposes two XML-RPC method calls: * ``Svn.Update`` updates the working copy to the latest version in the repository. * ``Svn.Commit`` commits any changes to the working copy back to the repository. In order for this to work, the user Bcfg2 runs as must be able to commit to the repository non-interactively. Enabling the Svn plugin ======================= Simply add Svn to your plugins line in ``/etc/bcfg2.conf``:: [server] plugins = Bundler,Cfg,Metadata,..,Svn Resolving conflicts ======================= By default, the Svn plugin does not attempt to resolve conflicts when trying to commit or update the repository. This can be changed by adding to ``/etc/bcfg2.conf``, e.g.:: [svn] conflict_resolution = theirs-conflict The possible values of ``conflict_resolution`` are: * ``base`` * ``postpone`` (default) * ``mine-conflict`` * ``theirs-conflict`` * ``mine-full`` * ``theirs-full`` The other possible SVN conflict resolvers (``edit``, ``launch``, ``working``) require manual intervention and so are not possible. Descriptions of each action can be found in the `Version Control with Subversion `_ book.