


























@@ -104,6 +104,43 @@ describe("scripts/changed-lanes", () => {
104104expectLanes(result.lanes, { tooling: true });
105105});
106106107+it("ignores local Crabbox metadata in the default local diff", () => {
108+const dir = makeTempRepoRoot(tempDirs, "openclaw-changed-lanes-crabbox-");
109+git(dir, ["init", "-q", "--initial-branch=main"]);
110+writeFileSync(path.join(dir, ".gitignore"), ".crabbox/\n", "utf8");
111+writeFileSync(path.join(dir, "README.md"), "initial\n", "utf8");
112+git(dir, ["add", ".gitignore", "README.md"]);
113+git(dir, [
114+"-c",
115+"user.email=test@example.com",
116+"-c",
117+"user.name=Test User",
118+"commit",
119+"-q",
120+"-m",
121+"initial",
122+]);
123+124+mkdirSync(path.join(dir, ".crabbox"), { recursive: true });
125+writeFileSync(path.join(dir, ".crabbox", "capture-files.txt"), "stdout.log\n", "utf8");
126+writeFileSync(path.join(dir, ".crabbox", "capture-manifest.txt"), "stdout.log\t12\n", "utf8");
127+128+const output = execFileSync(
129+process.execPath,
130+[path.join(repoRoot, "scripts", "changed-lanes.mjs"), "--json", "--base", "HEAD"],
131+{
132+cwd: dir,
133+encoding: "utf8",
134+env: createNestedGitEnv(),
135+},
136+);
137+138+const result = parseChangedLaneOutput(output);
139+140+expect(result.paths).toEqual([]);
141+expectLanes(result.lanes, {});
142+});
143+107144it("includes deleted worktree files in the default local diff", () => {
108145const dir = makeTempRepoRoot(tempDirs, "openclaw-changed-lanes-deleted-");
109146git(dir, ["init", "-q", "--initial-branch=main"]);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。