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

[13892] by rjollos on 2014-04-30 23:00:24
Executed on codebase.
[11873] by rjollos on 2012-08-01 06:34:25

Fixes #5689:

  • Added checks for non-empty group and path before attempting to add them. A warning is added if either are empty.
  • Extracted code to a method _get_authz.
  • Corrected tabs and indentation.
[11872] by rjollos on 2012-08-01 05:51:42
  • Degrade gracefully and add warning when authz_file is not defined.
  • Organized imports and removed some dead code.


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