cli:修正帶旗標命令被全域剖析攔下的阻斷問題(#13 審核)
- parseGlobals 改為抽取式 extractGlobals:只取走已知全域選項,非全域 選項(--has-work/--mine/--reviewer/--repo)原樣交回子命令 flagset, 任何順序(含與全域選項交錯)皆可解析;-- 之後停止抽取。 - runVersion 補參數檢查:version --wat 仍回 exit 2。 - workflow:commentsFor 對 number<=0 視為無留言,不打 API(對齊 gitea.py 在 number 缺漏時跳過留言檢查,避免 issues/0/comments 404 中斷掃描)。 - 新增 internal/cli/workflow_commands_test.go:以注入假 client 的接線層 測試補上 workflow 單元測試覆蓋不到的分派路徑(members --has-work、 pulls --mine/--reviewer/--repo、全域選項交錯、next null/table)。 - README:註明與 gitea.py 的已知輸出差異(空清單 [] vs 無輸出; 全域選項可出現在命令前後)。 實機交叉驗證(alex):members --has-work、pulls --mine/--reviewer、 pulls --repo、next、mine 兩者輸出一致;go vet/test 全綠。
This commit is contained in:
@@ -184,6 +184,15 @@ teai whoami # 目前帳號(讀 tea 組態)
|
||||
| `mine` | `teai mine` | 相同 |
|
||||
| (底線函式) | `internal/` 套件 | 不設 CLI 命令;`xrefs` 為其邏輯的公開化 |
|
||||
|
||||
已知輸出差異(刻意保留,機器可讀優先):
|
||||
|
||||
- **空清單**:`gitea.py` 的 `_dump` 對空清單**不輸出任何內容**;teai 的清單類命令
|
||||
(`mine`/`pulls`)空清單輸出 `[]`。對 JSON 消費者來說 `[]` 比「無輸出」更明確,
|
||||
交叉驗證時以此差異為準。`next` 兩者語義相同(無工作 → `null`/「沒有未完成的工作」)。
|
||||
- **全域選項位置**:teai 的全域選項(`--output` 等)可出現在命令之前或之後,
|
||||
且可與命令旗標交錯(`teai members --has-work --output table`);
|
||||
gitea.py 的旗標剖析較寬鬆,兩者命令列介面以此行為對齊。
|
||||
|
||||
遷移策略:
|
||||
|
||||
1. 以 gitea.py 為行為基準:同帳號同時跑兩者,輸出應一致(交叉驗證)。
|
||||
|
||||
Reference in New Issue
Block a user