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

Fix multiple source warning messages from error to warn #6790

Merged
1 commit merged into from
Nov 17, 2018
Merged

Fix multiple source warning messages from error to warn #6790

1 commit merged into from
Nov 17, 2018

Conversation

jlw
Copy link
Contributor

@jlw jlw commented Nov 16, 2018

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

I've been working on a few repos for most of this year that use a privately-hosted gem with the same name (but completely different purpose) as a gem hosted at rubygems.org - whenever I start with a clean copy and bundle install for the first time, I am presented with a warning in red that the gem was found in multiple sources. The red text makes me think that something went wrong, even though bundler did exactly what I wanted it to do.

The user experience is wrong - a warning should not be red.

What was your diagnosis of the problem?

When I looked at the source, I saw immediately that the warning was using Bundler.ui.error instead of Bundler.ui.warn.

This is a bug fix with a limited lifespan - after setting up a local copy of bundler I see that 2.0's handling of multiple sources A) is smarter and bypasses the error in most of the repos where I saw it with bundler 1.x; and B) fails early with a different error message in the remaining repos.

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

The fix is simply switching to Bundler.ui.warn in this case.

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

I didn't see any other possible options.

@greysteil
Copy link
Contributor

@bundlerbot r+

@greysteil
Copy link
Contributor

Thanks for this, and for switching the target branch. ❤️

ghost pushed a commit that referenced this pull request Nov 17, 2018
6790: Fix multiple source warning messages from `error` to `warn` r=greysteil a=jlw

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

I've been working on a few repos for most of this year that use a privately-hosted gem with the same name (but completely different purpose) as a gem hosted at rubygems.org - whenever I start with a clean copy and `bundle install` for the first time, I am presented with a warning in red that the gem was found in multiple sources. The red text makes me think that something went wrong, even though bundler did exactly what I wanted it to do.

The user experience is wrong - a warning should not be red.

### What was your diagnosis of the problem?

When I looked at the source, I saw immediately that the warning was using `Bundler.ui.error` instead of `Bundler.ui.warn`.

This is a bug fix with a limited lifespan - after setting up a local copy of bundler I see that 2.0's handling of multiple sources A) is smarter and bypasses the error in most of the repos where I saw it with bundler 1.x; and B) fails early with a different error message in the remaining repos.

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

The fix is simply switching to `Bundler.ui.warn` in this case.

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

_I didn't see any other possible options._


Co-authored-by: Jeremy Weathers <[email protected]>
@ghost
Copy link

ghost commented Nov 17, 2018

Build succeeded

@ghost ghost merged commit 6732092 into rubygems:master Nov 17, 2018
@colby-swandale colby-swandale added this to the 2.0.2 milestone Feb 25, 2019
colby-swandale pushed a commit that referenced this pull request Apr 1, 2019
6790: Fix multiple source warning messages from `error` to `warn` r=greysteil a=jlw

I've been working on a few repos for most of this year that use a privately-hosted gem with the same name (but completely different purpose) as a gem hosted at rubygems.org - whenever I start with a clean copy and `bundle install` for the first time, I am presented with a warning in red that the gem was found in multiple sources. The red text makes me think that something went wrong, even though bundler did exactly what I wanted it to do.

The user experience is wrong - a warning should not be red.

When I looked at the source, I saw immediately that the warning was using `Bundler.ui.error` instead of `Bundler.ui.warn`.

This is a bug fix with a limited lifespan - after setting up a local copy of bundler I see that 2.0's handling of multiple sources A) is smarter and bypasses the error in most of the repos where I saw it with bundler 1.x; and B) fails early with a different error message in the remaining repos.

The fix is simply switching to `Bundler.ui.warn` in this case.

_I didn't see any other possible options._

Co-authored-by: Jeremy Weathers <[email protected]>
(cherry picked from commit f160d15)
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Sep 18, 2019
## 2.0.2 (2019-05-13)

Changes:

  - Fixes for Bundler integration with ruby-src ([#6941](rubygems/bundler#6941), [#6973](rubygems/bundler#6973), [#6977](rubygems/bundler#6977), [#6315](rubygems/bundler#6315), [#7061](rubygems/bundler#7061))
  - Use `__dir__` instead of `__FILE__` when generating a gem with `bundle gem` ([#6503](rubygems/bundler#6503))
  - Use `https` on externals links in the Bundler gemspec ([#6721](rubygems/bundler#6721))
  - Removed duplicate gem names from the suggested `did you mean` list for gem typos ([#6739](rubygems/bundler#6739))
  - Removed Ruby 1.x compatibility code ([#6764](rubygems/bundler#6764), [#6806](rubygems/bundler#6806))
  - Fixed an issue where `bundle remove` would crash with certain Gemfiles ([#6768](rubygems/bundler#6769))
  - Fixed indentation in the Bundler executable template ([#6773](rubygems/bundler#6773))
  - Fixed an issue where plugins could register for the same Bundler hook multiple times ([#6775](rubygems/bundler#6775))
  - Changed the "multiple sources" message in `bundle install` to be a warning instead of an error ([#6790](rubygems/bundler#6790))
  - Fixed a bug where path gems would break when using `only_update_to_newer_versions` ([#6774](rubygems/bundler#6774))
  - Fixed a bug where installing plugins with the `--delpoyment` setting would fail ([#6805](rubygems/bundler#6805))
  - Fixed an issue where `bundle update` couldn't update & install a gem when `no_install` was set (a `bundle package` config) ([#7078](rubygems/bundler#7078))
  - Fixed an issue where users could not run `bundle exec` on default gems ([#6963](rubygems/bundler#6963))
  - Updated vendor libraries to their latest version ([#7076](rubygems/bundler#7067), [#7068](rubygems/bundler#7068))
  - Fixed an issue where the `github` source was not using `https` by default that we mentioned in the 2.0 release ([#7182](rubygems/bundler#7182))
  - Fixed an issue where `rake release` was not outputting the message to users asking for a 2fa token ([#7199](rubygems/bundler#7199))

Documentation:

  - Fix incorrect documented `BUNDLE_PATH_RELATIVE_TO_CWD` env var ([#6751](rubygems/bundler#6751))
  - Update URLs in Bundler's documentation to use `https` ([#6935](rubygems/bundler#6935))

## 2.0.1 (2019-01-04)

Changes:

  - Relaxed RubyGems requirement to `>= 2.5.0` ([#6867](rubygems/bundler#6867))

## 2.0.0 (2019-01-03)

No new changes

## 2.0.0.pre.3 (2018-12-30)

Breaking Changes:

  - Bundler 2 now requires RubyGems 3.0.0 at minimum

Changes:

  - Ruby 2.6 compatibility fixes (@segiddins)
  - Import changes from Bundler 1.17.3 release

Note: To upgrade your Gemfile to Bundler 2 you will need to run `bundle update --bundler`

## 2.0.0.pre.2 (2018-11-27)

Breaking Changes:

  - `:github` source in the Gemfile now defaults to using HTTPS

Changes

  - Add compatibility for Bundler merge into ruby-src

Note: To upgrade your Gemfile to Bundler 2 you will need to run `bundle update --bundler`

## 2.0.0.pre.1 (2018-11-09)

Breaking Changes:

  - Dropped support for versions of Ruby < 2.3
  - Dropped support for version of RubyGems < 2.5
  - Moved error messages from STDOUT to STDERR

Note: To upgrade your Gemfile to Bundler 2 you will need to run `bundle update --bundler`
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.

3 participants