清单状态控制
背景
Scoop 的 bucket 通过 Github Actions 滚动更新清单版本号,这带来了两个问题:
清单错误风险
- 清单在自动更新前无人审核,当安装包发生重大变动时,用户安装可能出现意外错误
- 问题解决依赖维护者的响应速度,期间所有用户都会受影响
清单重命名通知缺失
- 清单重命名后,无法主动通知已安装的用户
- 官方做法是保留旧清单并通过
notes属性提醒,但用户很少主动查看
abyss 的解决方案
abyss 通过版本号标记机制,实现了清单状态的实时控制:
暂停问题清单
- 发现清单问题时,将版本号标记为
pending pending状态的清单无法安装或更新,保护用户免受影响- 问题修复后恢复版本号,用户即可正常使用
引导重命名清单
状态徽章
TIP
更多详情,请查看 清单
| Badge | Description |
|---|---|
| 它是可用的,可以通过 Scoop 安装或更新 | |
| 它是待定的,安装会被拒绝 如果在 pending 之前完成安装,则通过 Scoop 更新会被拒绝 | |
| 它已被弃用,安装会被拒绝 如果在 deprecated 之前完成安装,则通过 Scoop 更新会被拒绝 | |
| 它已被重命名,安装或更新都会被拒绝 错误信息中包含新的名称,你应该使用它进行安装 如果存在 Persist 或 Link 的数据,会自动迁移 | |
| 它是虚拟的,不进行实际的应用安装 它只会通过 Persist 或 Link 进行数据持久化 |