changeset 3953:fc63a1d93803 beta

Switched order of actions when doing repo rescan. doing invalidation after repository scan is not optimal. In case of big repository we first create an instance then invalidate cache that we don't actually need. Reversing this order prevents that
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 05 Jun 2013 21:20:21 +0200
parents ebde99f10d77
children ca30c9924023
files rhodecode/controllers/admin/settings.py
diffstat 1 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/admin/settings.py	Wed Jun 05 21:06:59 2013 +0200
+++ b/rhodecode/controllers/admin/settings.py	Wed Jun 05 21:20:21 2013 +0200
@@ -113,16 +113,16 @@
         if setting_id == 'mapping':
             rm_obsolete = request.POST.get('destroy', False)
             invalidate_cache = request.POST.get('invalidate', False)
-            log.debug('rescanning directories with destroy obsolete=%s'
+            log.debug('rescanning repo location with destroy obsolete=%s'
                       % (rm_obsolete,))
-            initial = ScmModel().repo_scan()
 
             if invalidate_cache:
                 log.debug('invalidating all repositories cache')
-                for repo_name in initial.keys():
-                    ScmModel().mark_for_invalidation(repo_name)
+                for repo in Repository.get_all():
+                    ScmModel().mark_for_invalidation(repo.repo_name)
 
-            added, removed = repo2db_mapper(initial, rm_obsolete)
+            filesystem_repos = ScmModel().repo_scan()
+            added, removed = repo2db_mapper(filesystem_repos, rm_obsolete)
             _repr = lambda l: ', '.join(map(safe_unicode, l)) or '-'
             h.flash(_('Repositories successfully '
                       'rescanned added: %s ; removed: %s') %