repostack pull

根据 repostack.yaml 的定义,clone 本地缺失的 repo。

repostack pull

执行流程

加载配置
  • 读取 repostack.yaml.repostackrc(如果启用了用户配置)。

遍历 repos
  • config.repos 中的每一个 repo:
    • 计算目标路径:join(root, repo.path)
    • 如果目标路径已存在(无论是否为空、是否为 Git 仓库),直接跳过。
    • 如果目标路径不存在,执行 git clone <source> <destination>

涉及文件

文件操作
repostack.yaml读取
.repostackrc读取(如启用用户)
<repo.path> 目录创建(通过 git clone

Git 操作

  • git clone <source> <destination>(仅针对缺失目录)

错误与边界情况

  • 如果 repostack.yaml 中定义了 users 但当前未选择用户,命令立即中断。
  • git clone 失败(网络问题、无效 source 等)会直接抛出异常。
  • 已存在的目录不做任何验证:即使里面是一个空文件夹或错误的仓库,也会直接跳过。

适用场景

  • 新成员首次设置开发环境
  • 恢复缺失的 repo

示例

repostack pull