Version 6 (modified by formalin14, 7 years ago) (diff)


Svnauthz File Administration Plugin


This plugin registers a module into the WebAdmin to allow the configuration of the svnauthz file from the web inferface. It uses the AccountManager plugin to present the list of users.

The development of this plugin was sponsored by EU Edge LLC

Bugs/Feature Requests

Existing bugs and feature requests for SvnAuthzAdminPlugin are here.

If you have any issues, create a new ticket.


Download the zipped source from here.


You can check out SvnAuthzAdminPlugin from here using Subversion, or browse the source with Trac.


It uses the authz_file setting from the [trac] section of trac.ini to find the svnauthz file. Currently it only supports svnauthz files without the repository prefix, so the authz_module_name setting in trac.ini should be left empty (this means you have to specify the complete path from the root of the filesystem). Remember to enable the

svnauthz.* = enabled 

parameter in the components part of the trac.ini The following screenshot shows the plugin in action:

Screenshot of SvnAuthzAdminPlugin

Recent Changes

[14543] by rjollos on 2015-04-20 16:01:36
1.0dev: tag_svn_revision is not supported in setuptools ≥ 10.
[14510] by rjollos on 2015-03-29 07:24:48
1.0dev: Modified to account for move of tests directory in [14494].
[14498] by rjollos on 2015-03-22 08:28:56
Removed empty directory.


Author: kisg

To use in Trac v0.11

  1. Install ClearSilver template system
  2. Download SvnAuthzAdminPlugin v0.1
  3. Unzip and apply the following patch:
    diff -u --recursive SvnAuthzAdminPlugin-0.1.1/svnauthz/ svnauthzadminplugin/0.10/svnauthz/
    --- SvnAuthzAdminPlugin-0.1.1/svnauthz/      2008-07-04 19:47:27.000000000 +0800
    +++ svnauthzadminplugin/0.10/svnauthz/       2007-07-31 12:47:46.000000000 +0800
    @@ -4,7 +4,7 @@
     from trac.util import sorted
     from trac.config import Option
    -from trac.admin import IAdminPanelProvider
    +from webadmin.web_ui import IAdminPageProvider
     from model import *
     from io import *
    @@ -24,7 +24,7 @@
     class SvnAuthzAdminPage(Component):
    -    implements(IAdminPanelProvider, ITemplateProvider)
    +    implements(IAdminPageProvider, ITemplateProvider)
         def __init__(self):
             self.authz_file = self.env.config.get("trac", "authz_file")
    @@ -34,7 +34,7 @@
             self.account_manager = AccountManager(self.env)
         # IAdminPageProvider
    -    def get_admin_panels(self, req):
    +    def get_admin_pages(self, req):
             if req.perm.has_permission('TRAC_ADMIN'):
                 yield ('subversion', 'Subversion', 'svnauthz', 'Subversion Access')
    Only in SvnAuthzAdminPlugin-0.1.1/svnauthz: admin_ui.pyc
    Only in SvnAuthzAdminPlugin-0.1.1/svnauthz: __init__.pyc
    Only in SvnAuthzAdminPlugin-0.1.1/svnauthz: io.pyc
    Only in SvnAuthzAdminPlugin-0.1.1/svnauthz: model.pyc
    diff -u --recursive SvnAuthzAdminPlugin-0.1.1/svnauthz/templates/admin_authz.cs svnauthzadminplugin/0.10/svnauthz/templates/admin_authz.cs
    --- SvnAuthzAdminPlugin-0.1.1/svnauthz/templates/admin_authz.cs 2008-07-04 19:47:27.000000000 +0800
    +++ svnauthzadminplugin/0.10/svnauthz/templates/admin_authz.cs  2007-07-10 13:10:54.000000000 +0800
    @@ -1,13 +1,5 @@
     <h2>Manage Subversion Access Rights</h2>
    -<?cs def:hdf_select(options, name, selected, optional) ?>
    - <select size="1" id="<?cs var:name ?>" name="<?cs var:name ?>"><?cs
    -  if:optional ?><option></option><?cs /if ?><?cs
    -  each:option = options ?>
    -   <option<?cs if:option == selected ?> selected="selected"<?cs /if ?>><?cs
    -     var:option ?></option><?cs
    -  /each ?>
    - </select><?cs
     <?cs if ?>
     <form id="addgroupmember" class="addnew" method="post">
  4. Enjoy it. Any question, concat formalin14(at)gmail(dot)com

Attachments (1)

Download all attachments as: .zip