feat: 重构被审查分支的选择逻辑
push 审查 check_branches 现在只表示「要做 push 审查的分支」,不再兼作 PR 目标分支: - 勾选具体分支:这些分支的 push 会审查,通过后晋级到管理分支 - 新增「任意分支」(*):所有分支的 push 都审查 - 留空:只审 PR,不审 push PR 审查 始终覆盖「勾选的分支 + 管理分支」作为合并目标。 管理分支是最终目标,不需要出现在检查分支里也能被保护。 管理分支从候选中移除 分支选择器不再列出管理分支——它是终点,不需要再检查自己。 安全边界 「任意分支」只扩大审查范围,不会把任意分支自动合并进管理分支; 晋级仍要求分支被显式勾选(promotesToManaged)。 同时修正一处语义错误 早先 branchMatches 把空列表当成「审所有分支」,导致新建仓库在用户 还没选分支时就审查全部 push。现在空列表明确表示「只审 PR」。 测试:分支匹配矩阵重写,覆盖 push/PR/晋级/保护目标四类判定,共 20 项通过。
This commit is contained in:
@@ -185,15 +185,16 @@
|
||||
<button type="button" id="branch-create">克隆创建</button>
|
||||
</span>
|
||||
</label>
|
||||
<p class="hint">所有检查通过后只合并到这一个分支;它也会出现在下面的检查分支里。</p>
|
||||
<label>检查分支(可多选)
|
||||
<p class="hint">最终目标分支。它是 PR 审查的默认合并目标,但不需要出现在下面的检查分支里。</p>
|
||||
<label>检查分支(push 审查;可多选)
|
||||
<span class="inline">
|
||||
<input name="check_branches" placeholder="main,release/1.0" />
|
||||
<input name="check_branches" placeholder="留空表示只审查 PR;* 表示任意分支" />
|
||||
<button type="button" id="branch-reload">加载分支</button>
|
||||
</span>
|
||||
</label>
|
||||
<div id="branch-list" class="branch-list"></div>
|
||||
<p class="hint">填「被保护的目标分支」。任何合并进这些分支的 PR 都会审查(功能分支不用列出来);向这些分支推送也会审查。只有指向管理分支的 PR 才会自动合并。</p>
|
||||
<p class="hint">选「任意分支」则所有分支的 push 都审查,也可只勾选指定分支。勾选的分支 push 通过后会自动晋级到管理分支;「任意分支」只扩大审查范围,不会自动合并任意分支。</p>
|
||||
<p class="hint">PR 审查始终覆盖「勾选的分支 + 管理分支」作为合并目标,与管理分支是否列在这里无关。</p>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
|
||||
Reference in New Issue
Block a user