MultiRepos: the `get_youngest_rev` shouldn't trigger a resync.
OTOH, that `self.youngest` value should be "refreshed" once new revisions come in, and not only for the process that actually gets notified.
diff --git a/trac/versioncontrol/cache.py b/trac/versioncontrol/cache.py
|
a
|
b
|
|
| 258 | 258 | |
| 259 | 259 | def get_youngest_rev(self): |
| 260 | 260 | if not hasattr(self, 'youngest'): |
| 261 | | self.sync() |
| | 261 | db = self.getdb() |
| | 262 | cursor = db.cursor() |
| | 263 | cursor.execute("SELECT MAX(" + db.cast('rev', 'int') + ") " |
| | 264 | "FROM revision WHERE repos=%s", (self.reponame,)) |
| | 265 | for rev, in cursor: |
| | 266 | self.youngest = rev |
| 262 | 267 | return self.youngest |
| 263 | 268 | |
| 264 | 269 | def previous_rev(self, rev, path=''): |