﻿ticket	summary	type	release	owner	status	created	modified	_description	_reporter
11439	plugin does not handle multi-keys	defect	0.12	ejucovy	new	2013-12-11T09:45:49+01:00	2013-12-11T09:45:49+01:00	"When I added secondary key for the user as described in http://gitolite.com/gitolite/users.html#multi-key (new style multi keys in different subdirectories)

I got an error:
{{{
Trac detected an internal error:
AssertionError: Node laptop
}}}

in users:
{{{
Python traceback
Most recent call last:

    File ""/usr/lib/python2.7/dist-packages/trac/web/main.py"", line 522, in _dispatch_request
    File ""/usr/lib/python2.7/dist-packages/trac/web/main.py"", line 264, in dispatch
    File ""/usr/lib/python2.7/dist-packages/trac/web/chrome.py"", line 876, in render_template
    File ""/usr/lib/python2.7/dist-packages/genshi/core.py"", line 183, in render
    File ""/usr/lib/python2.7/dist-packages/genshi/output.py"", line 58, in encode
    File ""/usr/lib/python2.7/dist-packages/genshi/output.py"", line 339, in __call__
    File ""/usr/lib/python2.7/dist-packages/genshi/output.py"", line 826, in __call__
    File ""/usr/lib/python2.7/dist-packages/genshi/output.py"", line 670, in __call__
    File ""/usr/lib/python2.7/dist-packages/genshi/output.py"", line 771, in __call__
    File ""/usr/lib/python2.7/dist-packages/genshi/output.py"", line 586, in __call__
    File ""/usr/lib/python2.7/dist-packages/genshi/core.py"", line 288, in _ensure
    File ""/usr/lib/python2.7/dist-packages/genshi/core.py"", line 288, in _ensure
    File ""/usr/lib/python2.7/dist-packages/trac/web/chrome.py"", line 990, in _strip_accesskeys
    File ""/usr/lib/python2.7/dist-packages/genshi/core.py"", line 288, in _ensure
    File ""/usr/lib/python2.7/dist-packages/trac/web/chrome.py"", line 979, in _generate
    File ""/usr/lib/python2.7/dist-packages/genshi/core.py"", line 288, in _ensure
    File ""/usr/lib/python2.7/dist-packages/genshi/template/base.py"", line 605, in _include
    File ""/usr/lib/python2.7/dist-packages/genshi/template/markup.py"", line 378, in _match
    File ""/usr/lib/python2.7/dist-packages/genshi/template/markup.py"", line 378, in _match
    File ""/usr/lib/python2.7/dist-packages/genshi/template/markup.py"", line 378, in _match
    File ""/usr/lib/python2.7/dist-packages/genshi/template/markup.py"", line 327, in _match
    File ""/usr/lib/python2.7/dist-packages/genshi/template/base.py"", line 545, in _flatten
    File ""/usr/lib/python2.7/dist-packages/genshi/core.py"", line 288, in _ensure
    File ""/usr/lib/python2.7/dist-packages/genshi/path.py"", line 588, in _generate
    File ""/usr/lib/python2.7/dist-packages/genshi/template/base.py"", line 605, in _include
    File ""/usr/lib/python2.7/dist-packages/genshi/template/markup.py"", line 316, in _strip
    File ""/usr/lib/python2.7/dist-packages/genshi/template/base.py"", line 545, in _flatten
    File ""/usr/lib/python2.7/dist-packages/genshi/core.py"", line 288, in _ensure
    File ""/usr/lib/python2.7/dist-packages/genshi/path.py"", line 588, in _generate
    File ""/usr/lib/python2.7/dist-packages/genshi/template/base.py"", line 605, in _include
    File ""/usr/lib/python2.7/dist-packages/genshi/template/markup.py"", line 316, in _strip
    File ""/usr/lib/python2.7/dist-packages/genshi/template/base.py"", line 545, in _flatten
    File ""/usr/lib/python2.7/dist-packages/genshi/core.py"", line 288, in _ensure
    File ""/usr/lib/python2.7/dist-packages/genshi/path.py"", line 588, in _generate
    File ""/usr/lib/python2.7/dist-packages/genshi/template/base.py"", line 605, in _include
    File ""/usr/lib/python2.7/dist-packages/genshi/template/markup.py"", line 316, in _strip
    File ""/usr/lib/python2.7/dist-packages/genshi/template/base.py"", line 545, in _flatten
    File ""/usr/lib/python2.7/dist-packages/genshi/template/directives.py"", line 366, in __call__
    File ""/usr/local/lib/python2.7/dist-packages/trac_GitolitePlugin-0.3.1-py2.7.egg/trac_gitolite/user_manager.py"", line 26, in get_users 
}}}

and permissions
{{{
 File ""/usr/lib/python2.7/dist-packages/trac/web/main.py"", line 522, in _dispatch_request
File ""/usr/lib/python2.7/dist-packages/trac/web/main.py"", line 243, in dispatch
File ""/usr/lib/python2.7/dist-packages/trac/admin/web_ui.py"", line 117, in process_request
File ""/usr/local/lib/python2.7/dist-packages/trac_GitolitePlugin-0.3.1-py2.7.egg/trac_gitolite/perm_manager.py"", line 104, in render_admin_panel
File ""/usr/local/lib/python2.7/dist-packages/trac_GitolitePlugin-0.3.1-py2.7.egg/trac_gitolite/perm_manager.py"", line 33, in get_users 
}}}"	dczech
11533	show permissions for specific repos only	enhancement	1.0	ejucovy	new	2014-01-31T19:05:04+01:00	2014-02-03T05:33:19+01:00	"Hi,

I have a trac setup which consists of multiple trac environments.  The goal for me as TRAC_ADMIN is basically to turn each environment over to a project_manager (which is something I defined as being a little less than TRAC_ADMIN) and then they can take care of their own users and permissions etc.

So I have integrated trac-gitolite, and I have one gitolite-admin repo that is serving the multiple trac environments.  Out of the box, the project_manager for project A could see and manage the repository permissions for a repo in project B which may have a different project_manager.  So this isn't ideal.

Basically I added a trac_gitolite option called show_repos.  This is just a list of the repos whose permissions can be managed through the web interface.  It can be set on a per environment basis in trac.ini

I have attached the diffs needed to do this.

Is this useful, or did I miss the boat entirely and there was a much easier way to do this?

Thanks,

Patrick"	patrick
