Skip to content
This repository has been archived by the owner on Apr 14, 2021. It is now read-only.

Fix sticky options deprecation #7006

Merged
5 commits merged into from Mar 12, 2019
Merged

Fix sticky options deprecation #7006

5 commits merged into from Mar 12, 2019

Conversation

deivid-rodriguez
Copy link
Member

What was the end-user problem that led to this PR?

The problem was that deprecating sticky options is currently "useless" since we are removing the flags where the stickyness makes a difference at the same time. So, we don't help users adapt to (and understand) our changes.

What was your diagnosis of the problem?

My diagnosis was that we should do this change in two steps, so that first users get a explanation about why we are removing the flags and what is the preferred alternative for them, and once nobody is no longer using these flags, we deprecate sticky options in general, since they are surprising and no longer useful, since we don't depend on them.

What is your fix for the problem, implemented in this PR?

My fix is to:

  • In bundler 2 (next release, 2.1 for example), print a deprecation message to warn about the removal of all the flags that currently depend on the options being remembered.

  • In bundler 3, remove the options and deprecate remembering command line flags.

Why did you choose this fix out of the possible options?

I chose this fix because it properly and gradually informs our users about the changes that we intend to make and why we intend to make them.

@deivid-rodriguez
Copy link
Member Author

Feedback appreciated in general, but specially with wording of the deprecations!

The deprecations will lead to some "true positives" where users will
use `bundle config` and remove the flag, and some "false positives"
where users will be fine with the option not being remembered but still
want to use the flag on a per command basis.

Whatever the case, we need to tell users how to get rid of the warning
once they learn and get ready for the new behavior. Otherwise it's going
to get super annoying!
Under the previous code, once we stop remembering options, these flags
would be automatically removed without deprecation. Instead, first
deprecate the options in bundler 2, then remove them and stop
remembering them in bundler 3.
@deivid-rodriguez
Copy link
Member Author

Going in as per the plan outlined in #6975.

@bundlerbot r+

ghost pushed a commit that referenced this pull request Mar 12, 2019
7006: Fix sticky options deprecation r=deivid-rodriguez a=deivid-rodriguez

### What was the end-user problem that led to this PR?

The problem was that deprecating sticky options is currently "useless" since we are removing the flags where the stickyness makes a difference at the same time. So, we don't help users adapt to (and understand) our changes. 

### What was your diagnosis of the problem?

My diagnosis was that we should do this change in two steps, so that first users get a explanation about why we are removing the flags and what is the preferred alternative for them, and once nobody is no longer using these flags, we deprecate sticky options in general, since they are surprising and no longer useful, since we don't depend on them. 

### What is your fix for the problem, implemented in this PR?

My fix is to:

* In bundler 2 (next release, 2.1 for example), print a deprecation message to warn about the removal of all the flags that currently depend on the options being remembered.

* In bundler 3, remove the options and deprecate remembering command line flags.

### Why did you choose this fix out of the possible options?

I chose this fix because it properly and gradually informs our users about the changes that we intend to make and why we intend to make them.

Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
@ghost
Copy link

ghost commented Mar 12, 2019

Build succeeded

@ghost ghost merged commit 6223492 into master Mar 12, 2019
@ghost ghost deleted the fix_sticky_options_deprecation branch March 12, 2019 14:09
This pull request was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant