core: lock prerelease gems

This commit is contained in:
Mitchell Hashimoto 2014-04-01 22:28:33 -07:00
parent 9c570adbd7
commit 8c8c6c132c
2 changed files with 6 additions and 3 deletions

View File

@ -18,6 +18,8 @@ BUG FIXES:
a string and not a symbol. [GH-3349]
- core: Converting to cygwin path works for folders with spaces. [GH-3304]
- core: Can add boxes with spaces in their path. [GH-3306]
- core: Prerelease plugins installed are locked to that prerelease
version. [GH-3301]
- commands/box: Show versions when listing. [GH-3316]
- commands/status: Machine readable output contains the target. [GH-3218]
- guests/arch: Reload udev rules after network change. [GH-3322]

View File

@ -72,9 +72,10 @@ module Vagrant
install_lambda.call
end
# If the version constraint is just a specific (non prerelease) version, don't
# store the constraint.
if opts[:version] && opts[:version] =~ /^\d/ && !Gem::Requirement.parse(opts[:version])[1].prerelease?
# If the version constraint is just a specific version, don't
# store the constraint. However, if it is a prerelease version,
# we DO store the constraint to avoid Bundler updating it.
if opts[:version] && opts[:version] =~ /^\d/ && opts[:version] !~ /[a-z]/i
opts.delete(:version)
end