Repository navigation
Loading an xlink's files shows the progress an update shows - #164
Merged
Merged
Conversation
…pending changes put aside first Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ing changes put aside first as a switch does Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…an update does Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…anges Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
violetaGitHub
marked this pull request as ready for review
October 29, 2026 11:39
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Oct 29, 2026
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.
What does this pull request do?
Loading an xlink's files, as it's created or with Load its files, shows the progress an update or a switch shows.
Current behavior
The card said "Loading its files" with no bar for as long as the files took to load.
Behavior with this pull request
The card shows the files and bytes downloaded and a percentage, as a switch does. When changes had to be put aside first, its steps are "Putting your changes aside", the load with its bar, and "Bringing your changes back".
How it was implemented
loadXlinkArgsrunscm update <folder holding the xlink> --forcedetailedprogress --noinput --dontmergeinstead of--machinereadable, which turnscm's progress bar off. Its line is read byreadUpdateProgress, as for update and switch (context.progressOf).cmacts on pending changes as client.conf'sPendingChangesOnSwitchActionsays, which may be to shelve them itself;--machinereadableused to turn that into a refusal. NowloadXlinkreads the pending changes first (a localcm status) and clears them before the update, as a switch does (switchApproach): unchanged checkouts undone, a merge in progress refused, other changes shelved, undone and merged back after the load (loadAroundChanges, reason'xlink'). Private files don't count.--machinereadableand counting its per-item lines (no totals, so no bar); putting changes aside only oncm's refusal (localized words, and no bar).Behavior changes
cm's default settings, pending changes are now put aside and merged back while an xlink's files load, wherecmalone would have left them in place. The app can't tell, as it never readscm's config. If they don't merge back cleanly, "Welcome back" offers them, as before.cm updatewith changes pending now says what went wrong, instead of being taken forcm's refusal.Checklist
npm run typecheckandnpm testpass (8,455). New tests: the update runs with--forcedetailedprogressand reportsreadUpdateProgress's progress; over a workspace whosecm updaterefuses while changes are pending, the app never updates with changes in the way (changes aside first, merged back; a private file isn't put aside; a failure before shelving loads nothing and leaves the changes).scripts/sandboxes/xlinks.shwith a 4,000-file xlinked repository, README.md pending,cmset to Shelve): the card went from "Putting your changes aside" through "Downloading … files" 1% → 93% to "Bringing your changes back"; files loaded; README.md stayed pending; clean console. Only the progress card changed, so one theme.npm run e2e: not run; smoke loads no xlinks.loadXlink.loadcloses over its context; the rejected alternative in the docs reworded. Kept: no Cancel on the card, as creating or loading an xlink isn't cancellable (the card shows Cancel only for cancellable operations).docs/features/xlinks.mddescribes the progress, why changes are cleared first, and the alternative dropped.Fixed issues
None.
🤖 Generated with Claude Code