何を見つけたか
10.15.0-dev.1 のリリース後テスト(PR #766)で、配布した版の merged の「クリーンアップの手順」を、
作業ツリーとブランチを進行側が既に消した Pull Request(#766、head release/v10.15.0-dev.1)に対して通した。
手順 5 の git branch -d は次のとおり 終了コード 1 で終わる。
$ git branch -d release/v10.15.0-dev.1
error: branch 'release/v10.15.0-dev.1' not found
exit=1
「止まる条件」の表はローカルブランチについて「git branch -d <name> が 0 以外で終わる → 止まる(一覧で
示し、同意の無い対象を消さない)」と定めており、この表だけを読むと「無い」ブランチが止まる対象へ積まれる。
手順の末尾の「冪等性保証・エラー時中断・削除済み無視」が「無い」を無視する根拠になるが、表とは別の場所に
あり、-d の拒否(not fully merged)と「無い」(not found)を分ける判定の形(git show-ref --verify を
先に見る、または出力の not found を読む)が書かれていない。
今回は「削除済み無視」を採って止まる箇所 0 で通った(A2 は合格)が、読み手が表だけを読むと同じ状況で 1 回止まる。
どこで見つけたか
なぜこの変更の範囲外なのか
#561 の A2(利用者の入力を求める箇所が 0)は満たしている。これは「無い」の扱いが表に無いという文書の
欠落で、A2 の合否を変えない。
直さないと何が起きるか
AGENTS.md が求める「失敗時の終了コードと出力を確かめる」の観点で、git branch -d の 2 つの非 0
(拒否と不在)が同じ扱いに読める。進行側が先に消した Pull Request(release ブランチ・cross-review の後片付け
など)で、止まる対象に「無い」ブランチが並び、A2 の 0 回が守られない実行が出る。対処は手順 5 に
「先に git show-ref --verify --quiet refs/heads/<name> で存在を見て、無ければ『削除済み』として報告へ載せ、
止まる対象へ積まない」を 1 行足すこと。
由来
PR #766(10.15.0-dev.1 のリリース後テスト、A2 の判定)
何を見つけたか
10.15.0-dev.1のリリース後テスト(PR #766)で、配布した版のmergedの「クリーンアップの手順」を、作業ツリーとブランチを進行側が既に消した Pull Request(#766、head
release/v10.15.0-dev.1)に対して通した。手順 5 の
git branch -dは次のとおり 終了コード 1 で終わる。「止まる条件」の表はローカルブランチについて「
git branch -d <name>が 0 以外で終わる → 止まる(一覧で示し、同意の無い対象を消さない)」と定めており、この表だけを読むと「無い」ブランチが止まる対象へ積まれる。
手順の末尾の「冪等性保証・エラー時中断・削除済み無視」が「無い」を無視する根拠になるが、表とは別の場所に
あり、
-dの拒否(not fully merged)と「無い」(not found)を分ける判定の形(git show-ref --verifyを先に見る、または出力の
not foundを読む)が書かれていない。今回は「削除済み無視」を採って止まる箇所 0 で通った(A2 は合格)が、読み手が表だけを読むと同じ状況で 1 回止まる。
どこで見つけたか
plugins/ndf/skills/merged/SKILL.md「止まる条件」の表(ローカルブランチの行)と、「クリーンアップの手順」の手順 5・末尾の注意なぜこの変更の範囲外なのか
#561 の A2(利用者の入力を求める箇所が 0)は満たしている。これは「無い」の扱いが表に無いという文書の
欠落で、A2 の合否を変えない。
直さないと何が起きるか
AGENTS.mdが求める「失敗時の終了コードと出力を確かめる」の観点で、git branch -dの 2 つの非 0(拒否と不在)が同じ扱いに読める。進行側が先に消した Pull Request(release ブランチ・cross-review の後片付け
など)で、止まる対象に「無い」ブランチが並び、A2 の 0 回が守られない実行が出る。対処は手順 5 に
「先に
git show-ref --verify --quiet refs/heads/<name>で存在を見て、無ければ『削除済み』として報告へ載せ、止まる対象へ積まない」を 1 行足すこと。
由来
PR #766(
10.15.0-dev.1のリリース後テスト、A2 の判定)