


























@@ -1816,6 +1816,34 @@ describe.concurrent("scripts/crabbox-wrapper", () => {
18161816);
18171817});
181818181819+it("bootstraps Git metadata for non-sparse changed gates on remote raw syncs", () => {
1820+const result = runWrapper(
1821+"provider: hetzner, aws, local-container, blacksmith-testbox, or cloudflare\n",
1822+["run", "--provider", "aws", "--", "corepack", "pnpm", "check:changed"],
1823+{
1824+gitResponses: {
1825+[GIT_STATUS_PORCELAIN_KEY]: { stdout: "" },
1826+[GIT_MERGE_BASE_MAIN_HEAD_KEY]: { stdout: "abc123\n" },
1827+},
1828+},
1829+);
1830+1831+const output = parseFakeCrabboxOutput(result);
1832+const remoteCommand = normalizeShellLineEndings(output.args.at(-1) ?? "");
1833+expect(result.status).toBe(0);
1834+expect(result.stderr).toContain("syncing from temporary full checkout");
1835+expect(result.stderr).toContain("overlaying local HEAD as worktree changes from abc123");
1836+expect(output.cwd).toContain("openclaw-crabbox-sync-");
1837+expect(output.args).toContain("--shell");
1838+expect(remoteCommand).toContain("git init -q");
1839+expect(remoteCommand).toContain(
1840+"git fetch -q --depth=1 origin abc123:refs/remotes/origin/main",
1841+);
1842+expect(remoteCommand).toMatch(
1843+/&& env OPENCLAW_CHECK_CHANGED_REMOTE_CHILD=1 OPENCLAW_CHANGED_LANES_RAW_SYNC=1 CI=1 corepack pnpm check:changed$/u,
1844+);
1845+});
1846+18191847it("bootstraps Git metadata for env-prefixed sparse changed gates", () => {
18201848const result = runWrapper(
18211849"provider: hetzner, aws, local-container, blacksmith-testbox, or cloudflare\n",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。