# HG changeset patch # User Marcin Kuzminski # Date 1370457905 -7200 # Node ID 9378d8640a4be5425b12b7b78733ac7eb7774176 # Parent 1226fdf24f8a64ab53ff31f4d3992b31125f8113 Added extra flag to invalidate caches when doing rescan from web interface diff -r 1226fdf24f8a -r 9378d8640a4b rhodecode/controllers/admin/settings.py --- a/rhodecode/controllers/admin/settings.py Wed Jun 05 19:55:35 2013 +0200 +++ b/rhodecode/controllers/admin/settings.py Wed Jun 05 20:45:05 2013 +0200 @@ -112,11 +112,15 @@ if setting_id == 'mapping': rm_obsolete = request.POST.get('destroy', False) - log.debug('Rescanning directories with destroy=%s' % rm_obsolete) + invalidate_cache = request.POST.get('invalidate', False) + log.debug('rescanning directories with destroy obsolete=%s' + % (rm_obsolete,)) initial = ScmModel().repo_scan() - log.debug('invalidating all repositories') - for repo_name in initial.keys(): - ScmModel().mark_for_invalidation(repo_name) + + if invalidate_cache: + log.debug('invalidating all repositories cache') + for repo_name in initial.keys(): + ScmModel().mark_for_invalidation(repo_name) added, removed = repo2db_mapper(initial, rm_obsolete) _repr = lambda l: ', '.join(map(safe_unicode, l)) or '-' diff -r 1226fdf24f8a -r 9378d8640a4b rhodecode/templates/admin/settings/settings.html --- a/rhodecode/templates/admin/settings/settings.html Wed Jun 05 19:55:35 2013 +0200 +++ b/rhodecode/templates/admin/settings/settings.html Wed Jun 05 20:45:05 2013 +0200 @@ -40,6 +40,12 @@ ${_('Destroy old data')} +
+ ${h.checkbox('invalidate',True)} + +
${_('Rescan repositories location for new repositories. Also deletes obsolete if `destroy` flag is checked ')}