diff rhodecode/model/repo.py @ 3309:b3cf4539d1bd beta

Added missing migrations, and move update_repoinfo to RepoModel migrations now update repo cache
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 03 Feb 2013 21:03:40 +0100
parents 72a91632b731
children 059efaea23d6
line wrap: on
line diff
--- a/rhodecode/model/repo.py	Wed Jan 30 04:10:58 2013 +0100
+++ b/rhodecode/model/repo.py	Sun Feb 03 21:03:40 2013 +0100
@@ -42,6 +42,7 @@
     RhodeCodeSetting, RepositoryField
 from rhodecode.lib import helpers as h
 from rhodecode.lib.auth import HasRepoPermissionAny
+from rhodecode.lib.vcs.backends.base import EmptyChangeset
 
 
 log = logging.getLogger(__name__)
@@ -143,6 +144,17 @@
         kwargs.update(dict(_=_, h=h, c=c))
         return tmpl.render(*args, **kwargs)
 
+    @classmethod
+    def update_repoinfo(cls, repositories=None):
+        if not repositories:
+            repositories = Repository.getAll()
+        for repo in repositories:
+            scm_repo = repo.scm_instance_no_cache
+            last_cs = EmptyChangeset()
+            if scm_repo:
+                last_cs = scm_repo.get_changeset()
+            repo.update_changeset_cache(last_cs)
+
     def get_repos_as_dict(self, repos_list=None, admin=False, perm_check=True,
                           super_user_actions=False):
         _render = self._render_datatable