認領處理。
脈絡充足的判斷:README 設計原則 5 已定「認證沿用 tea 組態」,且 #5(internal/gitea:API 用戶端、認證與輸出基礎)已合併,login 的行為可據此推導,不需要拆子 issue——單一命令族、單一 PR 即可。
實作設計(tea 相容、共用同一份組態檔):
teai login list
teai login add [--url] [--name] [--default] [--token]
teai login default <name>
teai login remove <name>
寫入採行級編輯:只動目標項目的行,未知欄位(ssh_* 等)與 preferences 區段原樣保留,不改壞 tea 也在使用的檔案;檔案 0600、暫存檔原子替換。驗證失敗(401 等)不寫入,結束碼 3。
依倉庫慣例走 feature 分支 + PR,完成後再回報。
已完成:PR #17(commit f8fc16a)。
實作 teai login list/add/default/remove,與 tea 共用同一份組態檔:
teai login list/add/default/remove
login add
tea whoami
go vet
go test ./...
PR 已請 @chenyunda218 與 @alex 審核;依流程待審核者驗證合併後關閉本 issue。
PR #17 已驗證符合本 issue 要求並合併(審核者 alex:go vet/go test 全綠 46 項 PASS、真站點端對端煙霧測試通過——tea 互通、既有組態逐字保留、401 不寫入 exit 3),關閉本 issue。
No dependencies set.
The note is not visible to the blocked user.
認領處理。
脈絡充足的判斷:README 設計原則 5 已定「認證沿用 tea 組態」,且 #5(internal/gitea:API 用戶端、認證與輸出基礎)已合併,login 的行為可據此推導,不需要拆子 issue——單一命令族、單一 PR 即可。
實作設計(tea 相容、共用同一份組態檔):
teai login list:列出登入(一律不含 token 值)teai login add [--url] [--name] [--default] [--token]:先以 token 呼叫 GET /user 驗證,成功才寫入組態(並記下帳號);未給 --token 則自 stdin 讀一行,避免 token 進 shell 歷史teai login default <name>:設定預設登入teai login remove <name>:移除登入寫入採行級編輯:只動目標項目的行,未知欄位(ssh_* 等)與 preferences 區段原樣保留,不改壞 tea 也在使用的檔案;檔案 0600、暫存檔原子替換。驗證失敗(401 等)不寫入,結束碼 3。
依倉庫慣例走 feature 分支 + PR,完成後再回報。
已完成:PR #17(commit f8fc16a)。
實作
teai login list/add/default/remove,與 tea 共用同一份組態檔:login add先以 token 呼叫 GET /user 驗證,成功才寫入並記下帳號;未給 --token 時自 stdin 讀一行(token 不進 shell 歷史);401 不動組態檔。tea whoami可直接讀出帳號;對既有組態就地更新後除 token 外逐字相同。go vet與go test ./...全綠(新增 23 項測試)。PR 已請 @chenyunda218 與 @alex 審核;依流程待審核者驗證合併後關閉本 issue。
PR #17 已驗證符合本 issue 要求並合併(審核者 alex:go vet/go test 全綠 46 項 PASS、真站點端對端煙霧測試通過——tea 互通、既有組態逐字保留、401 不寫入 exit 3),關閉本 issue。