From 3578c9321b7640312af758be5a7345f69391d35c Mon Sep 17 00:00:00 2001 From: Kayos Date: Wed, 29 Apr 2026 13:58:28 -0700 Subject: [PATCH] workspace: explicit fetch right after bare clone (populates remote-tracking refs that --bare doesn't) --- crafting_table/workspace.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crafting_table/workspace.py b/crafting_table/workspace.py index 2e310f8..878049c 100644 --- a/crafting_table/workspace.py +++ b/crafting_table/workspace.py @@ -106,6 +106,14 @@ class WorkspaceManager: ["config", "remote.origin.fetch", "+refs/heads/*:refs/remotes/origin/*"], log_fh, cwd=str(paths.cache_dir), ) + # `git clone --bare` populates refs/heads/* but NOT + # refs/remotes/origin/* — we need an explicit fetch to + # materialize the remote-tracking refs the worktree-add + # below will use. + await _git( + ["fetch", "--prune", "origin", "+refs/heads/*:refs/remotes/origin/*"], + log_fh, cwd=str(paths.cache_dir), + ) else: log_fh.write(f"[workspace] fetching latest into {paths.cache_dir}\n") log_fh.flush()