Repository navigation
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」,这句话说中了。