1.5 KiB
1.5 KiB
File shortcut
新增 file Shortcut 组,补齐 GitLink 仓库文件与目录内容操作的常用封装:
file +list列出仓库文件(--ref指定分支/标签/commit,--search关键词过滤)file +tree列出文件树(--sha默认 master,--recursive递归,支持分页)file +get获取文件或目录内容(--path必填,--ref默认 master)file +create创建文件(--path/--content/--message必填,content 自动 Base64 编码)file +delete删除文件(--path/--sha/--message必填,SHA 取自file +list)
实现要点:
+tree走/v1/{owner}/{repo}/git/trees/{sha},与 git 树对象语义一致,支持--recursive与分页。+get/+list经/sub_entries、/files等接口读取文件或目录内容。+create调用/create_file,文件内容 Base64 编码后提交;+delete调用/delete_file,需先从file +list取得文件 blob SHA。- 路径统一使用
/v1/{owner}/{repo}/前缀,与现有 Shortcut 组保持一致。
补充单元测试 shortcuts/file/file_test.go,覆盖各命令的参数解析与路径构造。
Examples
gitlink-cli file +list --owner Gitlink --repo gitlink-cli
gitlink-cli file +tree --owner Gitlink --repo gitlink-cli --recursive
gitlink-cli file +get --owner Gitlink --repo gitlink-cli --path README.md
gitlink-cli file +create --owner Gitlink --repo gitlink-cli --path docs/note.md --content "hello" --message "add note"
Tests
go test ./shortcuts/file/...