diff options
author | Samuel E. Giddins <segiddins@segiddins.me> | 2015-05-02 11:11:14 -0700 |
---|---|---|
committer | Samuel E. Giddins <segiddins@segiddins.me> | 2015-05-03 22:27:41 -0700 |
commit | 6db8d799b05b6dc6dec378c78efc1b15cbf20ba9 (patch) | |
tree | 7fc51749e4f01244c270744fbceafe948d2f34e4 | |
parent | d979b8bbb00281e62c0c089c65d4f9de98537652 (diff) | |
download | bundler-6db8d799b05b6dc6dec378c78efc1b15cbf20ba9.tar.gz |
[Definition] Only compare major versions when we have a locked version
-rw-r--r-- | lib/bundler/definition.rb | 12 | ||||
-rw-r--r-- | lib/bundler/lockfile_parser.rb | 7 |
2 files changed, 10 insertions, 9 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb index edaf54a6bf..eb97b81a5d 100644 --- a/lib/bundler/definition.rb +++ b/lib/bundler/definition.rb @@ -249,12 +249,14 @@ module Bundler return end - locked_major = @locked_bundler_version.segments.first - current_major = Gem::Version.create(Bundler::VERSION).segments.first + if @locked_bundler_version + locked_major = @locked_bundler_version.segments.first + current_major = Gem::Version.create(Bundler::VERSION).segments.first - if locked_major < current_major - Bundler.ui.warn "Warning: the lockfile is being updated to Bundler #{Bundler::VERSION.split('.').first}, " \ - "after which you will be unable to return to Bundler #{@locked_bundler_version.segments.first}." + if locked_major < current_major + Bundler.ui.warn "Warning: the lockfile is being updated to Bundler #{Bundler::VERSION.split('.').first}, " \ + "after which you will be unable to return to Bundler #{@locked_bundler_version.segments.first}." + end end File.open(file, 'wb'){|f| f.puts(contents) } diff --git a/lib/bundler/lockfile_parser.rb b/lib/bundler/lockfile_parser.rb index 1c241b7a5a..21367fe70c 100644 --- a/lib/bundler/lockfile_parser.rb +++ b/lib/bundler/lockfile_parser.rb @@ -60,13 +60,12 @@ module Bundler def warn_for_outdated_bundler_version return unless bundler_version prerelease_text = bundler_version.prerelease? ? " --pre" : "" - locked_version = Gem::Version.create(bundler_version) current_version = Gem::Version.create(Bundler::VERSION) - case current_version.segments.first <=> locked_version.segments.first + case current_version.segments.first <=> bundler_version.segments.first when -1 - raise LockfileError, "You must use Bundler #{locked_version.segments.first} or greater with this lockfile." + raise LockfileError, "You must use Bundler #{bundler_version.segments.first} or greater with this lockfile." when 0 - if current_version < locked_version + if current_version < bundler_version Bundler.ui.warn "Warning: the running version of Bundler is older " \ "than the version that created the lockfile. We suggest you " \ "upgrade to the latest version of Bundler by running `gem " \ |