--- a/Allura/allura/controllers/auth.py
+++ b/Allura/allura/controllers/auth.py
@@ -186,6 +186,21 @@
redirect(return_to)
redirect('/')
+ @expose()
+ def refresh_repo(self, *repo_path):
+ if not repo_path:
+ return 'No repo specified'
+ repo_path = '/' + '/'.join(repo_path)
+ project, rest = h.find_project(repo_path)
+ if project is None:
+ return 'No project at %s' % repo_path
+ if not rest:
+ return '%s does not include a repo mount point' % repo_path
+ h.set_context(project.shortname, rest[0])
+ if c.app is None or not getattr(c.app, 'repo'):
+ return 'Cannot find repo at %s' % repo_path
+ g.publish('audit', 'repo.refresh')
+ return '%r refresh queued.\n' % c.app.repo
@expose('json:')
def repo_permissions(self, repo_path=None, username=None, **kw):