Normalize dot segments before matching maintainer paths
メンテナーはふだん 1 日以内に返信
@LunaStev がすでに取り組んでいます。
2026年10月1日 から。
評価
調査の方向性
tools/get_maintainer.py から始め、issue にある 2 つのコマンドを再現して、正規パスとドットセグメントを含むパスを比較します。異なるセクション連絡先とデフォルト連絡先を使ったカバレッジを追加し、リポジトリ相対で同値なパスが同じ maintainer を選択することを確認します。その一方で、Windows の区切り文字とエスケープされたパスは既存の動作を維持することも確認します。
索引モデルが issue の本文から書いたものです。
説明
Problem
The maintainer lookup matches raw string prefixes after replacing backslashes. A common ./ prefix bypasses every relevant MAINTAINERS entry, routing a maintained file to the default. Equivalent paths should select the same ownership section.
Starting points: tools/get_maintainer.py.
Reproduction
Executed on Linux amd64 with Python 3.14.7. The affected files at local ade878134519b0f957ca28a23c6f9cd98e43dff3 are byte-identical to canonical master 286dad9c8fcb0616f7c719c72cbf453a7d9925fd.
python3 tools/get_maintainer.py front/parser/src/lib.rs
python3 tools/get_maintainer.py ./front/parser/src/lib.rs
The first command prints Maintainers to CC:; the second prints No specific maintainers found. Using default:. Current matching/default email addresses happen to be equal, but section selection is wrong and will misroute once contacts differ.
Scope
Easy: normalize repository-relative path spelling before matching while keeping ownership boundaries intact. This is a lookup behavior defect, separate from refreshing stale ownership entries in #352. Do not change maintainer contacts.
Completion criteria
- Canonical paths and equivalent ./ or internal dot-segment spellings select the same maintainers.
- Use a fixture with different section/default contacts to catch incorrect fallback.
- Preserve Windows separator handling and do not treat paths escaping the repository as owned files.
- 主要言語
- Rust
- スター
- 56
- フォーク
- 21
- 平均マージ
- 4時間 41分
- マージ済み PR(30日)
- 58
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
wavefnd/Wave のほかの issue
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue needs testing
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Distinguish Rust character literals from lifetimes in the spacing helper対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンbug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
documentation enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
area: supply-chain
難易度 1/5 1時間未満 初心者へのやさしさ 73/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
-
Refresh stale docsオープン
難易度 1/5 1〜3時間 初心者へのやさしさ 67/100
OpenCarControls/firmware#35 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信