1

新しい git コミットが行われたときに、pydocstyleプレコミット フックとして使用して、プロジェクトのソース コード docstring、つまり/srcフォルダー内にある .py ファイルをチェックしたいと考えています。srcフォルダーのみを確認するために、 match-dirオプションを使用しましたが、機能していないようで、GitHub の問題が開いています。

pre-commit フックの使用に関する pydocstyle ドキュメントに従って、次のように.pre-commit-config.yamlファイルにpydocstyleを追加しました。

repos:
- repo: https://github.com/pycqa/pydocstyle
  rev: 5.1.1
  hooks:
  - id: pydocstyle

ここから、match-dirオプションを構成する 2 つの方法を試しました。コマンド ライン引数として使用する方法と、構成ファイルで使用する方法です。match-dirコマンドライン引数として渡すために、次のように.pre-commit-config.yamlでargsキーを使用しました。

repos:
- repo: https://github.com/pycqa/pydocstyle
  rev: 5.1.1
  hooks:
  - id: pydocstyle
    args:
    - --match-dir='^(src)'

構成ファイルを使用する方法として、プロジェクトのルートに次の内容の.pydocstyleファイルを作成しました。

[pydocstyle]
match_dir = ^(src)

どちらの方法も、事前コミットの実行時にチェックされるディレクトリに影響を与えないように見え、pydocstyle はプロジェクト内のすべてのファイルをチェックします。これについて何か助けていただければ幸いです。

4

1 に答える 1

1

pre-commitは、ファイル名を位置引数としてフックに渡します

どちらかの試行を行うと、これは次のように呼び出していることを意味します。

pydocstyle --match-dir=^(src) file1.py file2.py src/file1.py src/file2.py

また

# with the configuration adjacent
pydocstyle file1.py file2.py src/file1.py src/file2.py

(再帰のみに使用される)とはpydocstyle無関係に、渡されたファイルを常に実行することに気付くでしょう。--match-dir

/を使用して、基になるツールに渡されるものを制限できますpre-commitexcludefiles

repos:
- repo: https://github.com/pycqa/pydocstyle
  rev: 5.1.1
  hooks:
  - id: pydocstyle
    files: ^src/

免責事項: 私は pre-commit の作成者です

于 2020-12-28T17:08:07.460 に答える