From: Tom de Vries Date: Wed, 17 Jun 2026 19:40:03 +0000 (+0200) Subject: [pre-commit] Reorganize .pre-commit-config.yaml X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0c6ebc781ac79cd64d12d8acc1cb50fd4de2bb3a;p=thirdparty%2Fbinutils-gdb.git [pre-commit] Reorganize .pre-commit-config.yaml Reorganize .pre-commit-config.yaml: - unify indentation - move local hooks to last - add empty lines and header comments to make file more readable - move detailed file selection comment from flake8 settings to "Python hooks" since it's valid for all python hooks, and explain why the types_or setting is needed. - use anchors to avoid repetition Approved-By: Tom Tromey --- diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1d766189ca3..141451501ed 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -40,25 +40,29 @@ minimum_pre_commit_version: 4.5.1 default_install_hook_types: [pre-commit, commit-msg] default_stages: [pre-commit] + repos: + # Python hooks. Run these for (in glob notation): + # + # - gdb/gdb-gdb.py.in + # - gdb/*.py + # - gdb/python/**/*.py + # - gdb/testsuite/*.py + # + # Because gdb/gdb-gdb.py.in is not classified as python, we use + # 'types_or: [file]' to override the default type for these hooks. + # - repo: https://github.com/psf/black-pre-commit-mirror rev: 26.5.1 hooks: - - id: black - types_or: [file] - files: '^gdb/.*\.py(\.in)?$' + - id: black + types_or: [file] + files: '^gdb/.*\.py(\.in)?$' - repo: https://github.com/pycqa/flake8 rev: 7.3.0 hooks: - id: flake8 types_or: [file] - # Run this for (in glob notation): - # - # - gdb/gdb-gdb.py.in - # - gdb/*.py - # - gdb/python/**/*.py - # - gdb/testsuite/*.py - # files: '^gdb/.*\.py(\.in)?$' args: [--config, gdb/setup.cfg] - repo: https://github.com/pycqa/isort @@ -67,6 +71,8 @@ repos: - id: isort types_or: [file] files: '^gdb/.*\.py(\.in)?$' + + # Codespell hooks. - repo: https://github.com/codespell-project/codespell rev: v2.4.2 hooks: @@ -79,43 +85,47 @@ repos: args: [--toml, gdb/pyproject.toml] verbose: true stages: [commit-msg] + + # Tclint hooks. + - repo: https://github.com/nmoroze/tclint + rev: v0.8.0 + hooks: + - id: tclint + args: [--trust-plugins] + files: '^gdb/testsuite/.*\.(exp|tcl)$' + + # Local hooks. - repo: local hooks: - - id: check-include-guards - name: check-include-guards + - id: &id0 check-include-guards + name: *id0 language: unsupported_script entry: gdb/check-include-guards.py # All gdb header files, but not headers in the test suite. files: '^(gdb(support|server)?)/.*\.h$' exclude: '.*/testsuite/.*' - - id: check-gnu-style - name: check-gnu-style + - id: &id1 check-gnu-style + name: *id1 language: python additional_dependencies: ['termcolor', 'unidiff'] entry: gdb/contrib/check-gnu-style-pre-commit.sh files: '^(gdb(support|server)?)/.*\.(c|h|cc)$' exclude: '.*/testsuite/.*' verbose: true - - id: check-whitespace - name: check-whitespace + - id: &id2 check-whitespace + name: *id2 language: unsupported_script entry: gdb/contrib/check-whitespace-pre-commit.py files: '^(gdb(support|server)?)/.*$' - - id: pre-commit-setup - name: pre-commit-setup + - id: &id3 pre-commit-setup + name: *id3 language: python entry: gdb/contrib/pre-commit-setup.py additional_dependencies: ["pyyaml"] always_run: true pass_filenames: false - - id: check-file-mode - name: check-file-mode + - id: &id4 check-file-mode + name: *id4 language: unsupported_script entry: gdb/contrib/check-file-mode.sh files: '^(gdb|gdbserver|gdbsupport)/.*$' - - repo: https://github.com/nmoroze/tclint - rev: v0.8.0 - hooks: - - id: tclint - args: [--trust-plugins] - files: '^gdb/testsuite/.*\.(exp|tcl)$'