新增仓库转移快捷命令 #119
Loading…
Reference in New Issue
No description provided.
Delete Branch "Mengz/gitlink-cli:mengz/repo-transfer-shortcuts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
本次 PR 为
repo命令组补齐仓库所有者侧的项目转移能力,新增repo +transfer-orgs、repo +transfer和repo +transfer-cancel。GitLink OpenAPI 已经提供查询可转入组织、发起项目转移、取消项目转移的接口,但当前 CLI 只能通过 Raw API 调用;维护者在把个人仓库移交给组织、调整项目归属,或让 Agent 编排仓库治理流程时,缺少一个清晰、安全、可测试的 Shortcut 入口。实现上,这组命令复用现有
RuntimeContext的 owner/repo 解析、API 调用和统一输出:repo +transfer-orgs调用/applied_transfer_projects/organizations列出可接收目标;repo +transfer --target-owner <login>会发送owner_name发起转移;repo +transfer-cancel用于取消待处理的转移申请。两个写操作都支持--dry-run,会输出 method、path 和 payload,不修改线上数据,避免仓库归属这类高风险操作被误触发;--target-owner也做了空值和空白值校验。我检查了当前开放 PR,已有
todo相关 PR 覆盖接收方的接受/拒绝待办申请,但没有覆盖仓库所有者发起和取消转移的入口,因此本 PR 与其互补、不重复。README、中文 README、gitlink-repoSkill 和doc/changes/repo-transfer-shortcuts.md已同步补充示例与说明。已验证:
go test ./shortcuts/repo ./internal/i18ngo test ./shortcuts/...go test ./cmd ./cmd/api ./cmd/config ./internal/client ./internal/config ./internal/context ./internal/i18n ./internal/outputgo build ./...git diff --checkgo run . repo +transfer --helpgo run . --lang zh-CN repo +transfer-cancel --helpgo run . repo +transfer --owner Gitlink --repo gitlink-cli --target-owner Mengz --dry-run --format jsongo run . repo +transfer-cancel --owner Gitlink --repo gitlink-cli --dry-run --format json补充说明:当前 master 在 Windows 下裸跑
go test ./...仍会命中既有 auth 测试 HOME/USERPROFILE 隔离问题,失败集中在cmd/auth和internal/auth,与本次仓库转移 Shortcut 无关;该问题已有独立 PR 处理,因此本 PR 不重复带入 auth 测试修复。e45bc77675to10d88360d9bcbcf3fb13to9bf0258b43