As discussed at the AGM:
- Only allow formula/cask forks to be used when either blessed by
the source or used by two other major distributions,
- Further elaborate and tweak reasons to deprecate/disable formulae.
- Allow more versioned formulae when widely used.
- Add a document (based on above) for deprecating/disabling casks.
While we're here:
- let VSCode Markdown linting remove the trailing `!` from an
Acceptable Casks heading
BuildPulse (and my interactions with CI on this repository) have shown
this tests to be very flaky. Flaky tests are not useful tests so let's
just delete them and they can be re-added if fixed in future.
When a Keg is unlinked, brew-link gives a helpful message for how to proceed: adding the `--overwrite` flag.
For safety, it also recommends running in `--dry-run` mode first to see what would be deleted.
So a user's common flow would be:
1. run `brew link foo`
2. get error message with guidance
3. run `brew link --overwrite --dry-run foo`
4. inspect
5. run `brew link --overwrite foo`
In this flow, steps 3-5 are likely very common. Common enough that a user may use their shell history to re-populate their prompt with step 3's command, delete the `--dry-run` flag, and re-run. (The end goal, of course, is to link `foo`.)
The `--dry-run` flag needs to be removed from the command, of course. If it had been at the _end_ of the command, it would make the subsequent modification easier.
Instead of "up arrow, left-arrow a bunch, then backspace over --dry-run, hopefully not backspacing over the formula name", it would be easier for the user if the dry-run flag were already at the end of the command. Then the user can "up arrow, backspace a few times and hit enter".
What's more, if the last arg were `--dry-run`, a more advanced bash user could even use `!:-` to re-run the link command with all-but-the-last-arg.