wt, br and bare perch now start fetching the remote as soon as they launch, while the picker is still open, and reuse that fetch once you pick. Before, you waited through the fetch (mostly SSH transport, about 1.7s) after picking. The background fetch can't prompt: if it fails, perch runs it again in the foreground so a passphrase or credential prompt can be answered.
A branch that exists on the remote but has never been fetched in this clone now works too. wt gives it a worktree at the remote's tip tracking origin/<branch> instead of creating it fresh off origin/main, and br no longer fails with pathspec did not match. An in-place switch now fast-forwards against the target branch's own remote rather than the remote of the branch you left, so a branch tracking upstream updates properly.
A worktree still does its own fetch when its result could differ from the early one: submodules, relative PATH/GIT_EXEC_PATH/core.hooksPath entries, GIT_DIR-style variables, or a remote that resolves differently in that worktree.
What's changed
- Start the fetch before the wt picker opens
- Stop the prefetch covering worktrees whose fetch differs
- Prefetch while the br and go pickers are open
- Bump the version to 2.6.2
Full changelog: v2.6.1...v2.6.2