${_('Invalidate Cache for Repository')}

${_('Manually invalidate the repository cache. On the next access a repository cache will be recreated.')}

${_('Cache purge can be automated by such api call. Can be called periodically in crontab etc.')}
${h.api_call_example(method='invalidate_cache', args={"repoid": c.rhodecode_db_repo.repo_name})}

${h.secure_form(h.route_path('edit_repo_caches', repo_name=c.repo_name), request=request)}
${h.submit('reset_cache_%s' % c.rhodecode_db_repo.repo_name,_('Invalidate repository cache'),class_="btn btn-small",onclick="return confirm('"+_('Confirm to invalidate repository cache')+"');")}
${h.end_form()}

${(_ungettext('List of repository caches (%(count)s entry)', 'List of repository caches (%(count)s entries)' ,len(c.rhodecode_db_repo.cache_keys)) % {'count': len(c.rhodecode_db_repo.cache_keys)})}

%for cache in c.rhodecode_db_repo.cache_keys: %endfor
${_('Prefix')} ${_('Key')} ${_('Active')}
${cache.get_prefix() or '-'} ${cache.cache_key} ${h.bool2icon(cache.cache_active)}

${_('Shadow Repositories')}

% if c.shadow_repos: % for shadow_repo in c.shadow_repos: % endfor % else: % endif
${shadow_repo}
${_('No Shadow repositories exist for this repository.')}

${_('Diff Caches')}

${_('Cached diff name')}: ${c.rhodecode_db_repo.cached_diffs_relative_dir}
${_('Cached diff files')}: ${c.cached_diff_count}
${_('Cached diff size')}: ${h.format_byte_size(c.cached_diff_size)}