原型
版本 1.0。 DWP 识别两种代码仓库原型。原型决定了代理如何接入,以及计划如何界定范围。
单一代码仓库
一个自成一体的代码库——一个应用、一个库或一个服务。计划直接作用于代码。
特征:
- 单一、连贯的代码库。
- 计划修改本仓库中的文件。
.dwp/工作区位于仓库根目录。
编排枢纽
一个管理多个子仓库的协调型仓库。计划可以在子仓库中派生出子计划。
特征:
- 协调多个子仓库。
- 计划可以委派给子计划。
- 维护一份所管理仓库的登记表。
- 位于枢纽根目录的
.dwp/工作区追踪跨仓库的状态。
归类判定法则
Repository
Multiple nested repos or a hub registry?
No
Individual repository
- single codebase
- plans modify local files
- .dwp/ at repo root
Yes
Orchestrator hub
- coordinates sub-repos
- plans delegate to child plans
- cross-repo .dwp/ state
若代理发现以下情形,就 SHOULD 把仓库归类为编排枢纽:
- 多个嵌套的 git 仓库或子模块。
- 一份所管理仓库的登记表或清单。
- 指向外部仓库的配置。
否则,将其当作单一代码仓库来对待。
接入差异
| 方面 | 单一 | 编排 |
|---|---|---|
| 范围 | 本仓库 | 多个仓库 |
| 接入 | 仓库结构 | 枢纽登记表 |
| 计划目标 | 本地文件 | 子计划 |
| 状态 | 本地 .dwp/ |
跨仓库 .dwp/ |