用途:当用户指向远程 Git 仓库(GitHub/GitLab/Bitbucket URL、git@... 或 owner/repo 简写)时,librarian 维护一个可复用的本地检出,路径稳定、定期更新且高效。
主要能力:仓库缓存于 ~/.cache/checkouts/<host>/<org>/<repo>,例如 github.com/mitsuhiko/minijinja 对应 ~/.cache/checkouts/github.com/mitsuhiko/minijinja。脚本会解析仓库引用为 host/org/repo;缺失时克隆;已存在则复用;过期时从 origin 拉取(默认间隔 300 秒);若检出干净且有上游,则尝试快进合并。采用 --filter=blob:none 的部分克隆,避免重复完整克隆。
使用方式:命令为 bash checkout.sh <repo> --path-only,示例包括 bash checkout.sh mitsuhiko/minijinja --path-only、bash checkout.sh github.com/mitsuhiko/minijinja --path-only、bash checkout.sh https://github.com/mitsuhiko/minijinja --path-only。默认节流刷新(每 5 分钟)以减少网络请求;可用 bash checkout.sh <repo> --force-update --path-only 强制立即刷新。推荐流程:先用 checkout.sh --path-only 解析仓库路径,再用该路径搜索、阅读和分析;后续引用同一仓库时再次调用即可找到并更新缓存。
限制与注意:不建议直接在共享缓存中编辑,如需修改应创建单独 worktree 或从缓存复制。owner/repo 默认指向 github.com。其余细节暂未提供。