Switch to side-by-side view

--- 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):