Document the Fizzy 3.x Homebrew upgrade path - #197
Merged
Conversation
#194 replaced the stale Homebrew block but did not carry over upgrade instructions, so there is currently no guidance in this repo for users on the robzolkos/fizzy-cli tap. The order matters and is not obvious. A cask will not overwrite a bin/fizzy symlink owned by a formula, so installing the cask while the formula is still linked silently skips the binary; uninstalling the formula afterwards then leaves no fizzy on PATH at all. brew unlink first avoids that, mirroring what Homebrew's own automatic migration does (unlink, cleanup, install --cask). Also notes that brew migrate fizzy-cli, which Homebrew prints in its migration output, is a no-op for a formula-to-cask move. Retitles the section macOS and Linux, since the generated cask ships on_linux blocks for amd64 and arm64.
Contributor
There was a problem hiding this comment.
Pull request overview
Documents the Homebrew upgrade path from Fizzy 3.x (the robzolkos/fizzy-cli formula) to the Fizzy 4.x cask (basecamp/tap/fizzy) to prevent PATH breakage during migration, and updates the Homebrew platform label to reflect Linux support.
Changes:
- Retitles the Homebrew install section to “macOS and Linux”.
- Adds explicit, ordered steps for upgrading from the 3.x formula to the 4.x cask, including rationale and a recovery command.
- Notes that
brew migrate fizzy-clidoes not migrate a formula-to-cask move.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Comments suppressed due to low confidence (1)
README.md:69
- The recovery command should use the fully qualified cask token for consistency with the install instructions and to avoid ambiguity if another tap provides a
fizzycask. Usingbasecamp/tap/fizzymakes the recovery step work even if the tap isn’t already present.
`brew unlink` first is required: a cask will not overwrite a `bin/fizzy` symlink owned by the formula, so installing the cask while the formula is still linked skips the binary and the later uninstall leaves no `fizzy` on your PATH. Recover with `brew reinstall --cask fizzy`. Note also that `brew migrate fizzy-cli`, which Homebrew suggests, is a no-op for a formula-to-cask move.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Verified on Homebrew 6.0.13: a fully-qualified reference to an untapped
third-party tap does not tap it.
$ brew info robzolkos/fizzy-cli/fizzy-cli
Error: No available formula or cask with the name "...".
This command requires the tap robzolkos/fizzy-cli.
If you trust this tap, tap it explicitly and then try again:
brew tap robzolkos/fizzy-cli
So the brew tap step is required, not optional. Reworded to say so
explicitly for both the migration and direct-install cases.
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.
#194 replaced the stale Homebrew block, but didn't carry over upgrade instructions — so this repo currently has no guidance for anyone on the
robzolkos/fizzy-clitap. The tap's own README is the only place it exists.Why the order matters
This isn't obvious, and getting it wrong leaves users with no
fizzyon PATH. Verified on a real 3.0.3 install:A cask will not overwrite a
bin/fizzysymlink owned by a formula. Installing the cask whilefizzy-cliis still linked silently skips the binary — payload lands in the Caskroom, nothing links to it:Uninstalling the formula then removes the only
fizzythat existed:brew unlink fizzy-clifirst avoids this, mirroring what Homebrew's own automatic migration does —cmd/update_report/reporter.rbrunsunlink→cleanup→install --caskin that order precisely so the cask can claim the path. Recovery, if someone already hit it, isbrew reinstall --cask fizzy.brew migrate doesn't work here
Homebrew prints
brew migrate fizzy-clito every user who hits the untrusted-tap path. It's a no-op for a formula-to-cask move:Exits without migrating. Since users are told to run it, the README now says explicitly that it does nothing.
Also
Retitles the section Homebrew (macOS and Linux) — the generated cask ships
on_linuxblocks for amd64 and arm64, so the macOS-only label undersold it.Related
Same correction landed in the tap README via robzolkos/homebrew-fizzy-cli#3, and the v4.0.0 release notes now carry an "Upgrading from Fizzy 3.x" section with the same sequence.
Summary by cubic
Document the Homebrew upgrade path from Fizzy 3.x (
robzolkos/fizzy-cliformula) to thebasecamp/tap/fizzycask, and clarify that Homebrew never auto-taps third‑party taps. Retitles the Homebrew section to “macOS and Linux” to reflect support on both platforms.brew tap basecamp/tap→brew unlink fizzy-cli→brew install --cask basecamp/tap/fizzy→brew uninstall --formula --force fizzy-cli→brew untap robzolkos/fizzy-cli.brew tap basecamp/tapis required; Homebrew does not auto-tap third‑party taps during migration or from a fully‑qualified install.unlinkmust happen first (a cask won’t overwrite the formula’sbin/fizzysymlink) and how to recover:brew reinstall --cask fizzy.brew migrate fizzy-cliis a no‑op for formula‑to‑cask moves.Written for commit 399bf22. Summary will update on new commits.