Index: trac/versioncontrol/web_ui/changeset.py
===================================================================
--- trac/versioncontrol/web_ui/changeset.py	(revision 8707)
+++ trac/versioncontrol/web_ui/changeset.py	(working copy)
@@ -840,7 +840,11 @@
 
     def get_timeline_filters(self, req):
         if 'CHANGESET_VIEW' in req.perm:
-            yield ('changeset', _('Repository checkins'))
+            filters = [('changeset', _('Repository checkins'))]
+            rm = RepositoryManager(self.env)
+            for reponame in rm.get_all_repositories().keys():
+                filters.append(((reponame, reponame)))
+            return filters
 
     def get_timeline_events(self, req, start, stop, filters):
         if 'changeset' in filters:
@@ -885,9 +889,10 @@
                                 show_location, show_files))
 
             for reponame, repos in self.env.get_all_repositories(req.authname):
-                for event in generate_changesets(reponame, repos):
-                    yield event
-                
+                if reponame in filters:
+                    for event in generate_changesets(reponame, repos):
+                        yield event
+
     def render_timeline_event(self, context, field, event):
         changesets, show_location, show_files = event[3]
         cset, cset_resource, repos_for_uid = changesets[0]

