mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-01-13 12:30:08 -06:00
Deprecate the pcre language
This commit is contained in:
@@ -67,6 +67,15 @@ def _run_single_hook(filenames, hook, repo, args, skips, cols):
|
||||
filenames = _filter_by_include_exclude(filenames, include, exclude)
|
||||
types, exclude_types = hook['types'], hook['exclude_types']
|
||||
filenames = _filter_by_types(filenames, types, exclude_types)
|
||||
|
||||
if hook['language'] == 'pcre':
|
||||
logger.warning(
|
||||
'`{}` (from {}) uses the deprecated pcre language.\n'
|
||||
'The pcre language is scheduled for removal in pre-commit 2.x.\n'
|
||||
'The pygrep language is a more portable (and usually drop-in) '
|
||||
'replacement.'.format(hook['id'], repo.repo_config['repo']),
|
||||
)
|
||||
|
||||
if hook['id'] in skips:
|
||||
output.write(get_hook_message(
|
||||
_hook_msg_start(hook, args.verbose),
|
||||
|
||||
@@ -529,7 +529,7 @@ def test_push_hook(cap_out, repo_with_passing_hook, mock_out_store_directory):
|
||||
('id', 'do_not_commit'),
|
||||
('name', 'hook 2'),
|
||||
('entry', 'DO NOT COMMIT'),
|
||||
('language', 'pcre'),
|
||||
('language', 'pygrep'),
|
||||
('types', ['text']),
|
||||
('stages', ['push']),
|
||||
)),
|
||||
@@ -592,7 +592,7 @@ def test_local_hook_passes(
|
||||
('id', 'do_not_commit'),
|
||||
('name', 'Block if "DO NOT COMMIT" is found'),
|
||||
('entry', 'DO NOT COMMIT'),
|
||||
('language', 'pcre'),
|
||||
('language', 'pygrep'),
|
||||
('files', '^(.*)$'),
|
||||
)),
|
||||
),
|
||||
@@ -645,6 +645,35 @@ def test_local_hook_fails(
|
||||
)
|
||||
|
||||
|
||||
def test_pcre_deprecation_warning(
|
||||
cap_out, repo_with_passing_hook, mock_out_store_directory,
|
||||
):
|
||||
config = OrderedDict((
|
||||
('repo', 'local'),
|
||||
(
|
||||
'hooks', [OrderedDict((
|
||||
('id', 'pcre-hook'),
|
||||
('name', 'pcre-hook'),
|
||||
('language', 'pcre'),
|
||||
('entry', '.'),
|
||||
))],
|
||||
),
|
||||
))
|
||||
add_config_to_repo(repo_with_passing_hook, config)
|
||||
|
||||
_test_run(
|
||||
cap_out,
|
||||
repo_with_passing_hook,
|
||||
opts={},
|
||||
expected_outputs=[
|
||||
b'[WARNING] `pcre-hook` (from local) uses the deprecated '
|
||||
b'pcre language.',
|
||||
],
|
||||
expected_ret=0,
|
||||
stage=False,
|
||||
)
|
||||
|
||||
|
||||
def test_meta_hook_passes(
|
||||
cap_out, repo_with_passing_hook, mock_out_store_directory,
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user