diff --git a/rhodecode/apps/repository/views/repo_settings_advanced.py b/rhodecode/apps/repository/views/repo_settings_advanced.py --- a/rhodecode/apps/repository/views/repo_settings_advanced.py +++ b/rhodecode/apps/repository/views/repo_settings_advanced.py @@ -22,6 +22,7 @@ import logging from pyramid.view import view_config from pyramid.httpexceptions import HTTPFound +from packaging.version import Version from rhodecode import events from rhodecode.apps._base import RepoAppView @@ -70,6 +71,13 @@ class RepoSettingsView(RepoAppView): .filter(UserFollowing.follows_repository == self.db_repo).scalar() c.ver_info_dict = self.rhodecode_vcs_repo.get_hooks_info() + c.hooks_outdated = False + + try: + if Version(c.ver_info_dict['pre_version']) < Version(c.rhodecode_version): + c.hooks_outdated = True + except Exception: + pass # update commit cache if GET flag is present if self.request.GET.get('update_commit_cache'): diff --git a/rhodecode/templates/admin/repos/repo_edit_advanced.mako b/rhodecode/templates/admin/repos/repo_edit_advanced.mako --- a/rhodecode/templates/admin/repos/repo_edit_advanced.mako +++ b/rhodecode/templates/admin/repos/repo_edit_advanced.mako @@ -147,6 +147,11 @@ onclick="return confirm('${_('Confirm to reinstall hooks for this repository.')}');"> ${_('Update Hooks')} + % if c.hooks_outdated: + + ${_('Outdated hooks detected, please update hooks using `Update Hooks` action.')} + + % endif