Skip to content

v0.6.0

Latest

Choose a tag to compare

@Melosic Melosic released this 25 Oct 14:58
f98050a

v0.6.0

新功能

/dev-workflow mark —— 一条命令让插件在这个仓库里生效

scope: 'marked' 是为了让一个 profile 里的不同仓库各用各的策略。以前启用一个仓库只有一条路:照 status 打印的路径去手建 .dsh/dev-workflow.yml。那个路径有两个坑——.dsh/ 目录往往不存在,文件也没有内容可抄。

现在:

/dev-workflow mark      # 在项目根建好标记,连目录一起
/dev-workflow unmark    # 删掉它

建出来的文件是三行注释,说明自己是什么、内容不会被解析、怎么退出。可以直接提交,团队里其他人拉下来就同样生效。

# 只想在部分仓库里跑这套规则
# 1. 面板里把「作用于哪些仓库」设为「仅带标记的」
# 2. 在要启用的仓库里:
/dev-workflow mark
# 3. 确认:
/dev-workflow status     # 会显示 Scope: every marked repository / marked

面板上没有目录选择器,也不该有:面板写的是 profile 的配置值,而启用哪个仓库落的是仓库里的文件,两者不是同一层。这个设置只能是一条命令——现在它是一条命令了。

升级

dsh plugin --profile <profile> add @melosic/dsh-dev-workflow@0.6.0

没有破坏性变更。scope 的判定规则、守卫行为、配置文件结构都没有动,0.5.0 上的配置原样继续有效。已经在 marked 档并手动建过标记的仓库不需要任何操作。

已知问题

  • gh pr merge / gh pr close 仍然没有守卫,因为它们不是发布动作。合并本身不做远端写,风险在合并之后。
  • 标记文件的存在性每次调用都重新判断,但项目根的向上查找有进程内缓存。会话中先给父目录建 .git 再给子目录建标记,缓存可能导致判到旧根。

致谢

感谢 @Melosic 提出这个可用性问题——「最该安静的设置,最容易的处理方式是切回 all」,这句话说中了。