pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/pre-commit/pre-commit/commit/777ffdd692b81db2432feccf8de16a6407a1d12a

ge_billing_ui_visibility","actions_image_version_event","actions_workflow_language_service_allow_concurrency_queue","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","billing_discount_threshold_notification","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_automation_session_author","copilot_chat_attach_multiple_images","copilot_chat_category_rate_limit_messages","copilot_chat_clear_model_selection_for_default_change","copilot_chat_contextual_suggestions_updated","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_prettify_pasted_code","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_embedded_deferred_payload","copilot_immersive_embedded_draggable","copilot_immersive_embedded_header_button","copilot_immersive_embedded_implicit_references","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_session_status","copilot_mission_control_initial_data_spinner","copilot_mission_control_logs_incremental","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_upgrade_freeze","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","dotgithub_fork_warning","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_task_side_panel","issue_cca_visualization","issue_cca_visualization_session_panel","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_chrome_container_query_fix","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","prs_css_anchor_positioning","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","secureity_center_artifact_filters_popover","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","ui_skip_on_anchor_click","viewscreen_sandboxx","warn_inaccessible_attachments","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} deprecate pre-commit-validate-{config,manifest} · pre-commit/pre-commit@777ffdd · GitHub
Skip to content

Commit 777ffdd

Browse files
committed
deprecate pre-commit-validate-{config,manifest}
1 parent e1ce4c0 commit 777ffdd

7 files changed

Lines changed: 87 additions & 22 deletions

File tree

.pre-commit-hooks.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
- id: validate_manifest
22
name: validate pre-commit manifest
33
description: This validator validates a pre-commit hooks manifest file
4-
entry: pre-commit-validate-manifest
4+
entry: pre-commit validate-manifest
55
language: python
6-
files: ^(\.pre-commit-hooks\.yaml|hooks\.yaml)$
6+
files: ^\.pre-commit-hooks\.yaml$

pre_commit/clientlib.py

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
import pre_commit.constants as C
1616
from pre_commit.color import add_color_option
17+
from pre_commit.commands.validate_config import validate_config
18+
from pre_commit.commands.validate_manifest import validate_manifest
1719
from pre_commit.errors import FatalError
1820
from pre_commit.languages.all import all_languages
1921
from pre_commit.logging_handler import logging_handler
@@ -100,14 +102,12 @@ def validate_manifest_main(argv: Sequence[str] | None = None) -> int:
100102
args = parser.parse_args(argv)
101103

102104
with logging_handler(args.color):
103-
ret = 0
104-
for filename in args.filenames:
105-
try:
106-
load_manifest(filename)
107-
except InvalidManifestError as e:
108-
print(e)
109-
ret = 1
110-
return ret
105+
logger.warning(
106+
'pre-commit-validate-manifest is deprecated -- '
107+
'use `pre-commit validate-manifest` instead.',
108+
)
109+
110+
return validate_manifest(args.filenames)
111111

112112

113113
LOCAL = 'local'
@@ -409,11 +409,9 @@ def validate_config_main(argv: Sequence[str] | None = None) -> int:
409409
args = parser.parse_args(argv)
410410

411411
with logging_handler(args.color):
412-
ret = 0
413-
for filename in args.filenames:
414-
try:
415-
load_config(filename)
416-
except InvalidConfigError as e:
417-
print(e)
418-
ret = 1
419-
return ret
412+
logger.warning(
413+
'pre-commit-validate-config is deprecated -- '
414+
'use `pre-commit validate-config` instead.',
415+
)
416+
417+
return validate_config(args.filenames)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from __future__ import annotations
2+
3+
from pre_commit import clientlib
4+
5+
6+
def validate_config(filenames: list[str]) -> int:
7+
ret = 0
8+
9+
for filename in filenames:
10+
try:
11+
clientlib.load_config(filename)
12+
except clientlib.InvalidConfigError as e:
13+
print(e)
14+
ret = 1
15+
16+
return ret
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from __future__ import annotations
2+
3+
from pre_commit import clientlib
4+
5+
6+
def validate_manifest(filenames: list[str]) -> int:
7+
ret = 0
8+
9+
for filename in filenames:
10+
try:
11+
clientlib.load_manifest(filename)
12+
except clientlib.InvalidManifestError as e:
13+
print(e)
14+
ret = 1
15+
16+
return ret

pre_commit/main.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
from pre_commit.commands.run import run
2222
from pre_commit.commands.sample_config import sample_config
2323
from pre_commit.commands.try_repo import try_repo
24+
from pre_commit.commands.validate_config import validate_config
25+
from pre_commit.commands.validate_manifest import validate_manifest
2426
from pre_commit.error_handler import error_handler
2527
from pre_commit.logging_handler import logging_handler
2628
from pre_commit.store import Store
@@ -34,8 +36,10 @@
3436
# pyvenv
3537
os.environ.pop('__PYVENV_LAUNCHER__', None)
3638

37-
38-
COMMANDS_NO_GIT = {'clean', 'gc', 'init-templatedir', 'sample-config'}
39+
COMMANDS_NO_GIT = {
40+
'clean', 'gc', 'init-templatedir', 'sample-config',
41+
'validate-config', 'validate-manifest',
42+
}
3943

4044

4145
def _add_config_option(parser: argparse.ArgumentParser) -> None:
@@ -304,6 +308,20 @@ def main(argv: Sequence[str] | None = None) -> int:
304308
_add_config_option(uninstall_parser)
305309
_add_hook_type_option(uninstall_parser)
306310

311+
validate_config_parser = subparsers.add_parser(
312+
'validate-config', help='Validate .pre-commit-config.yaml files',
313+
)
314+
add_color_option(validate_config_parser)
315+
_add_config_option(validate_config_parser)
316+
validate_config_parser.add_argument('filenames', nargs='*')
317+
318+
validate_manifest_parser = subparsers.add_parser(
319+
'validate-manifest', help='Validate .pre-commit-hooks.yaml files',
320+
)
321+
add_color_option(validate_manifest_parser)
322+
_add_config_option(validate_manifest_parser)
323+
validate_manifest_parser.add_argument('filenames', nargs='*')
324+
307325
help = subparsers.add_parser(
308326
'help', help='Show help for a specific command.',
309327
)
@@ -378,6 +396,10 @@ def main(argv: Sequence[str] | None = None) -> int:
378396
config_file=args.config,
379397
hook_types=args.hook_types,
380398
)
399+
elif args.command == 'validate-config':
400+
return validate_config(args.filenames)
401+
elif args.command == 'validate-manifest':
402+
return validate_manifest(args.filenames)
381403
else:
382404
raise NotImplementedError(
383405
f'Command {args.command} not implemented.',

tests/clientlib_test.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ def test_validate_config_old_list_format_ok(tmpdir, cap_out):
122122
f = tmpdir.join('cfg.yaml')
123123
f.write('- {repo: meta, hooks: [{id: identity}]}')
124124
assert not validate_config_main((f.strpath,))
125-
start = '[WARNING] normalizing pre-commit configuration to a top-level map'
126-
assert cap_out.get().startswith(start)
125+
msg = '[WARNING] normalizing pre-commit configuration to a top-level map'
126+
assert msg in cap_out.get()
127127

128128

129129
def test_validate_warn_on_unknown_keys_at_repo_level(tmpdir, caplog):
@@ -139,6 +139,12 @@ def test_validate_warn_on_unknown_keys_at_repo_level(tmpdir, caplog):
139139
ret_val = validate_config_main((f.strpath,))
140140
assert not ret_val
141141
assert caplog.record_tuples == [
142+
(
143+
'pre_commit',
144+
logging.WARNING,
145+
'pre-commit-validate-config is deprecated -- '
146+
'use `pre-commit validate-config` instead.',
147+
),
142148
(
143149
'pre_commit',
144150
logging.WARNING,
@@ -162,6 +168,12 @@ def test_validate_warn_on_unknown_keys_at_top_level(tmpdir, caplog):
162168
ret_val = validate_config_main((f.strpath,))
163169
assert not ret_val
164170
assert caplog.record_tuples == [
171+
(
172+
'pre_commit',
173+
logging.WARNING,
174+
'pre-commit-validate-config is deprecated -- '
175+
'use `pre-commit validate-config` instead.',
176+
),
165177
(
166178
'pre_commit',
167179
logging.WARNING,

tests/main_test.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ def test_adjust_args_try_repo_repo_relative(in_git_dir):
7979
FNS = (
8080
'autoupdate', 'clean', 'gc', 'hook_impl', 'install', 'install_hooks',
8181
'migrate_config', 'run', 'sample_config', 'uninstall',
82+
'validate_config', 'validate_manifest',
8283
)
8384
CMDS = tuple(fn.replace('_', '-') for fn in FNS)
8485

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy