Repository navigation
Update dependency worktrunk to v0.80.0 - #115
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.79.0→0.80.0Release Notes
max-sixty/worktrunk (worktrunk)
v0.80.0Compare Source
Improved
wt listand thewt switchpicker settle faster in repos with many worktrees: rows fill from the top down, and on macOS withcore.fsmonitor=trueno daemon start is forked for a worktree whose daemon is already running. On a 50-worktree repo the picker's per-row work starts at 47ms, down from 120ms. (#4286, #4290, #4288, #4284)CI status skips branches that were never pushed:
wt list --full, the picker, and the statusline no longer query the forge for a local branch no remote has, so a repo with 239 local branches made 25ghcalls instead of 249. A PR opened from a branch another clone pushed shows once you fetch. GitLab looks up its project ID once per command, not per row. (#4289, #4216)Leaner Codex commit generation: the recommended Codex command moves to
gpt-6-lunawith reasoning off and unneeded Codex features disabled, so each message sends fewer input tokens. Accepting the first-run Codex prompt now also creates~/.codex/worktrunk-commit-instructions.txt, which the command reads. Docs (#4261)Releases ship a signed packslip: each GitHub release includes
packslip.sigstore.json, a manifest of the archives' digests, platforms, completions, and agent skills, signed by the release workflow so installers such as mise can verify downloads before unpacking. (#4301, thanks @jdx)Fixed
A squash whose commit fails keeps the branch: when a git commit hook or signing stopped the commit in
wt mergeorwt step squash, the branch was left at the merge base with its changes staged, recoverable from the reflog. Now the branch is untouched. (Breaking: git commit hooks run on a detachedHEADduring a squash.) (#4206, thanks @Bennyjitsu for finding it in #4193)wt step diffwhen localmainlagsorigin/main: for a branch built on the newerorigin/main, the diff included the upstream commits in between. It now uses the same base aswt merge. (#4281, thanks @starlightromero, whose #3519 reported the same case forwt merge)Submodules with an
ignoresetting: whensubmodule.<name>.ignoreordiff.ignoreSubmoduleshid uncommitted changes inside a submodule,wt removeandwt step pruneread the worktree as clean and removed it along with them; they now keep it. Withignore=all,wt step commitand squashes now commit a staged submodule pointer instead of leaving it staged. (#4252, #4192, #4206, #4303, thanks @Duang777)Worktrees whose
.gitwas deleted but whose directory remains (macOS$TMPDIRcleanup can do this):wt remove <branch>failed, andwt step pruneskipped or errored on them. Both now unregister the worktree and leave its files; one with staged changes or an operation in progress is kept bywt step prune, and refused bywt removewithout--force. (#4228, #4226, #4302)wt merge --no-squashwith a stage mode that stages nothing: with--stage=noneand only unstaged changes,--stage=trackedand only untracked files, or only dirty submodule contents, it stopped at "Nothing to commit"; it now merges the branch's commits. (#4251, thanks @Duang777)Nushell 0.116: the first
wttab completion in each session printed aPositional completer input deprecatedwarning. The completer now takes Nushell's new input and still works on older versions. (#4297)Hook-log JSON's
branchfield:wt config state logs --format=jsonput the sanitized log directory name (feature-x-x2d) there; it now holdsfeature/x, ornullwhen no local branch owns the directory. (Breaking: filters on the sanitized form need updating.) (#4279)wt config show --fulloutside a git repository: it printed only agit rev-parsefailure; it now shows the user config and diagnostics. (#4255)Fixes for unusual git setups:
--no-ffmerges are signed whencommit.gpgSignis set without a value or only for one worktree; aftergit worktree repair,--separate-git-dirrepos put worktrees beside the work tree andwt removeworks (fixes #4235); removing an orphan worktree before its first commit no longer errors; with a custom merge driver, leaving the picker during a conflict check no longer strands.merge_file_*files (fixes #4273). (#4206, #4236, #4233, #4274, thanks @zengzheqing and @brndnmtthws for reporting)Fixes for unusual names and values: branch and remote names starting with
-; non-UTF-8 file names inwt step copy-ignored,promote,push, andmerge; a bare~inCLAUDE_CONFIG_DIR, or WindowsHOMEdiffering fromUSERPROFILE; post-remove hooks after a pre-remove hook breaks the user config; multilinewt config state varsvalues, whichvars listand{{ vars.* }}truncated andwt config state clearfailed on. (#4253, #4267, #4277, #4257, #4259, #4262, #4247, #4276, #4272, thanks @Duang777 and @hiro-nikaitou)Documentation
Help and recipe corrections:
wt step squash --stage=noneand thewt step pruneskip list now describe what they do, and the "Database per worktree" and "Monitor hook logs" tips use commandswtaccepts. (#4268, #4279)The worktrunk skill's sub-Agent example runs hooks: it dropped
--no-hooks, sopre-startprovisioning runs in agent-spawned worktrees, with guidance on when to add it back. (#4219, thanks @passitalong)Internal
Library API changes (Breaking library API):
LocalBranchgainspush_remote;GitErrorgainsStaleWorktreeHoldsWorkand arepairable_atfield onWorktreeMissing;Repository::capture_refs_with_ahead_behindis removed;git::parse_porcelain_zandRepository::changed_filesnow use bytes. (#4228, #4259, #4289, #4290)Agent guidance moved to
AGENTS.md, shared by Claude Code and Codex, and trimmed from 2,763 lines to 382. (#4245, #4246, #4287)Configuration
📅 Schedule: (in timezone Asia/Tokyo)
* * * * 1)🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.