Repository navigation
0.8.5 - #45
Merged
Merged
0.8.5#45
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.
0.8.5
Nothing to reinstall — the shell wrapper is unchanged. Three behaviours do
change, all of them guards rather than features:
gwt rmrefuses a worktreewith live processes even under
--force, and--fromnow fetches its base andstops the new branch inheriting that base as its upstream. A script that relied
on
gwt rm --forcesucceeding against a running worktree will now stop —which is the point, since what it succeeded at was half-deleting it.
Fixed — data loss
gwt rmcould half-delete a worktree, and then could not finish the job.With a dev server still running,
git worktree removedeletes files while theprocess recreates them, the final
rmdirfails — and git has alreadyderegistered the worktree by then. The retry answers
No worktree matching,and the half-emptied directory can only be cleared by hand. Observed on a
worktree with 51 live processes: 144 KB of orphans left behind, including the
repository's
CLAUDE.mdandeslint.config.mjs.rmnow looks for processes running under the worktree first, names them, andrefuses — the same shape as the existing dirty-tree guard, which tells you what
to do rather than doing it for you. It prints the
pkillto run.There is deliberately no flag to override it, and
--forcedoes not. Adirty tree is data you may be willing to lose; a live process is a mechanism
that corrupts the removal itself. The check is also a heuristic on command
lines, so a false positive is possible — refusing one costs a minute of
confusion, and stopping one would cost a process that mattered.
Fixed
A branch created with
--frominherited the base as its upstream.git worktree add -b fix/x <path> origin/mainsetsorigin/mainas the upstream,so a bare
git pushrefuses — and suggestsgit push origin HEAD:main. Copythat suggestion on a tired afternoon and the fix lands on the default branch.
--fromnow passes--no-track, and the samegit pushsuggestsgit push --set-upstream origin fix/xinstead.--frombranched off a stale base.addfetched only when the branchalready existed, so creating a new branch from
--from mainused whatever thelocal ref happened to be — weeks behind on a repository left alone, with
nothing said. It now fetches the base first, and when a local base is behind
its remote it says by how many commits and suggests
--from origin/<base>.After merging
git tag v0.8.5 && git push --tagsCI stages the package; approve it on npmjs.com with 2FA. 172 tests.