-
-
Notifications
You must be signed in to change notification settings - Fork 9.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No shallow taps #11337
No shallow taps #11337
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense to me, nice work @cnnrmnn! Won't merge just yet in case other maintainers have thoughts.
Does this need a deprecation path? |
Yes I think it does. I wouldn't be surprised if there are scripts tat use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work, almost there!
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
Appreciate you taking the time to help me out. All changes noted for future contributions :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two comments:
First, can you just add a few TODO
comments wherever the commented out deprecations are? It makes it a little bit easier to find those once it's time to uncomment them. I also like to add the major/minor version number to the comment to make it easier for whoever's doing the deprecation.
Also, we have have a replacement
option that can be passed to the switch
that helps with deprecating/disabling command flags. Although it seems, for some reason, that they can only be used for disabling rather than deprecations... Can you add commented out replacement lines for the --full
and --shallow
lines?
It should look something like this:
def tap_args
Homebrew::CLI::Parser.new do
usage_banner "`tap` [<options>] [<user>`/`<repo>] [<URL>]"
description <<~EOS
Tap a formula repository.
...
EOS
switch "--full",
description: "Convert a shallow clone to a full clone without untapping. Taps are only cloned as "\
"shallow clones if `--shallow` was originally passed."
# TODO: (3.3) Uncomment and remove references to `args.full?`
# replacement: false
switch "--shallow",
description: "Fetch tap as a shallow clone rather than a full clone. Useful for continuous integration."
# TODO: (3.3) Uncomment and remove references to `args.shallow?`
# replacement: false
# ...
end
end
Add tap --full deprecation TODO Co-authored-by: Rylan Polster <rslpolster@gmail.com>
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
By disabling, do you mean removing the command altogether or deprecating it as a no-op? |
When we make backward incompatible changes, we do it in a three-part cycle:
We advance to each level only on a major or minor release. So, when Homebrew 3.2.0 is released, we'll want these flags to be deprecated. 3.3.0 will have them disabled, and 3.4.0 will have them totally removed. Right now it's fine for them to be a no-op because we haven't yet reached the 3.2.0 release mark. After that, though, they won't really be a no-op any more because if you try to pass one of them you'll either see an error with Does that help clarify? |
Yes, thanks! |
@cnnrmnn Flaky tests, I'll rerun! |
Looks like they failed again. I'm unsure why. |
Rebase on master and it should work. The faulty test has been removed. |
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.10.0 to 2.10.1. - [Release notes](https://github.com/rubocop/rubocop-rails/releases) - [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md) - [Commits](rubocop/rubocop-rails@v2.10.0...v2.10.1) Signed-off-by: dependabot[bot] <support@github.com>
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.13.0 to 1.14.0. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](rubocop/rubocop@v1.13.0...v1.14.0) Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
Add tap --full deprecation TODO Co-authored-by: Rylan Polster <rslpolster@gmail.com>
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
…o no-shallow-taps
Thanks for the PR, @cnnrmnn! 🎉 Also, I noticed that you're a Yale student—I'll be joining you there next year! |
Awesome, welcome! Shoot me an email if you have any questions. :) |
Thanks, will do! ❤️🐶 |
brew style
with your changes locally?brew typecheck
with your changes locally?brew tests
with your changes locally?See #11328.
Removes the --full and --shallow tap command flags. Changes tap command to fully clone taps and convert any existing shallow clones to full clones when updated.