fix: reject reserved Git HEAD branch

This commit is contained in:
2026-08-03 21:22:08 +02:00
parent cc951d8073
commit 6434c9c4e1
2 changed files with 6 additions and 0 deletions
+1
View File
@@ -45,6 +45,7 @@ function refSafeGitBranch(value: string): string {
const branch = requiredRegistryValue(value, "branch");
if (
branch === "@"
|| branch === "HEAD"
|| branch.startsWith("-")
|| branch.startsWith("/")
|| branch.endsWith("/")
+5
View File
@@ -53,6 +53,11 @@ test("rejects ref-unsafe Git branches", () => {
}
});
test("rejects the reserved HEAD branch without rejecting lowercase head", () => {
expect(() => loadConfig({ THT_WORKSPACE_GIT_BRANCH: "HEAD" })).toThrow(/branch/i);
expect(loadConfig({ THT_WORKSPACE_GIT_BRANCH: "head" }).workspaceRegistry.branch).toBe("head");
});
test("rejects control characters in installation IDs", () => {
for (const codePoint of [...Array(0x20).keys(), ...Array(0x21).keys()].map((code, index) => (
index < 0x20 ? code : code + 0x7f