repostack list

列出 stack 中所有 repo 的当前 Git 状态。

repostack list

执行流程

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

显示当前用户(如有)
  • 如果 .repostackrc 指向了某个用户,在输出顶部打印一行 [user: <name>]

遍历所有 repo
  • 对每个 repo 执行以下 Git 查询:
    • git rev-parse --abbrev-ref HEAD → 分支名
    • git rev-parse HEAD → 当前 revision(截取前 12 位)
    • git status --short → 判断是否有未提交改动

输出表格
  • 格式:NAME\tBRANCH\tREVISION\tSTATUS
  • STATUSclean(干净)或 dirty(有未提交修改)。

涉及文件

文件操作
repostack.yaml读取
.repostackrc读取
各 repo 的 Git 元数据读取

Git 操作

  • git rev-parse --abbrev-ref HEAD
  • git rev-parse HEAD
  • git status --short

错误与边界情况

  • 如果 repo 是空仓库(没有任何 commit),分支和 revision 都会显示为 (no commits),而不是报错。
  • 配置加载失败会导致命令直接中断。

输出示例

NAME    BRANCH    REVISION    STATUS
foo     main      a79cd2d     clean
bar    main      1234567     dirty

示例

repostack list