Changeset - fc63a1d93803
[Not reviewed]
beta
0 1 0
Marcin Kuzminski - 12 years ago 2013-06-05 21:20:21
marcin@python-works.com
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
1 file changed with 5 insertions and 5 deletions:
0 comments (0 inline, 0 general)
rhodecode/controllers/admin/settings.py
Show inline comments
 
@@ -113,16 +113,16 @@ class SettingsController(BaseController)
 
        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') %
0 comments (0 inline, 0 general)