Mercurial > kallithea
comparison rhodecode/controllers/admin/settings.py @ 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 | 9378d8640a4b |
children | 5293d4bbb1ea |
comparison
equal
deleted
inserted
replaced
3952:ebde99f10d77 | 3953:fc63a1d93803 |
---|---|
111 # url('admin_setting', setting_id=ID) | 111 # url('admin_setting', setting_id=ID) |
112 | 112 |
113 if setting_id == 'mapping': | 113 if setting_id == 'mapping': |
114 rm_obsolete = request.POST.get('destroy', False) | 114 rm_obsolete = request.POST.get('destroy', False) |
115 invalidate_cache = request.POST.get('invalidate', False) | 115 invalidate_cache = request.POST.get('invalidate', False) |
116 log.debug('rescanning directories with destroy obsolete=%s' | 116 log.debug('rescanning repo location with destroy obsolete=%s' |
117 % (rm_obsolete,)) | 117 % (rm_obsolete,)) |
118 initial = ScmModel().repo_scan() | |
119 | 118 |
120 if invalidate_cache: | 119 if invalidate_cache: |
121 log.debug('invalidating all repositories cache') | 120 log.debug('invalidating all repositories cache') |
122 for repo_name in initial.keys(): | 121 for repo in Repository.get_all(): |
123 ScmModel().mark_for_invalidation(repo_name) | 122 ScmModel().mark_for_invalidation(repo.repo_name) |
124 | 123 |
125 added, removed = repo2db_mapper(initial, rm_obsolete) | 124 filesystem_repos = ScmModel().repo_scan() |
125 added, removed = repo2db_mapper(filesystem_repos, rm_obsolete) | |
126 _repr = lambda l: ', '.join(map(safe_unicode, l)) or '-' | 126 _repr = lambda l: ', '.join(map(safe_unicode, l)) or '-' |
127 h.flash(_('Repositories successfully ' | 127 h.flash(_('Repositories successfully ' |
128 'rescanned added: %s ; removed: %s') % | 128 'rescanned added: %s ; removed: %s') % |
129 (_repr(added), _repr(removed)), | 129 (_repr(added), _repr(removed)), |
130 category='success') | 130 category='success') |