| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Error on missing dependency - partial fix for #3692 (alternative)
This pull request implements the strategy suggested in the comments for https://github.com/bundler/bundler/pull/4012, namely to raise an error when dependencies are not present (due to a corrupted `Gemfile.lock`).
This also removes the `install_sequentially` option.
I wasn't totally sure about the error message formatting.
|
| | |
|
| | |
|
| | |
|
| |\
| | |
| | |
| | | |
github.com:simplybusiness/bundler into error_on_missing_dependency
|
| | |
| | |
| | |
| | | |
Also forces all installs through the parallel_installer to ensure consistency.
|
|/ /
| |
| |
| | |
Also forces all installs through the parallel_installer to ensure consistency.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Friendly filesystem permission errors
This introduces `SharedHelpers#filesystem_access` which can wrap any piece of code that makes a modification to the file system (eg. creating a directory). Doing so, results in user-friendly errors instead of the original ones (ie `Errno:EACCES`).
In the future we could (and probably should) handle more error types within `#filesystem_access`.
Closes #4009.
Closes #3988.
https://trello.com/c/OicgrmDd/102-improve-permissions-error-messages.
|
| | |
| | |
| | |
| | | |
Cherry-picked from #4019.
|
| | | |
|
| | | |
|
|/ /
| |
| |
| |
| | |
We also want to display helpful error messages for paths,
not just files.
|
|\ \
| |/
|/|
| |
| |
| | |
Removes duplication from bundle clean command
I was not feeling inspired, but I do like to delete code! Here's a small simplification as reported [in Code Climate](https://codeclimate.com/github/bundler/bundler/Bundler::Runtime).
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allocate the "ruby" and "\0" Strings once.
Index#search is called many times so this change is worth it.
With a single gem in your Gemfile, this change drops the string
allocations by nearly 30,000.
Script:
```ruby
require 'allocation_tracer'
ObjectSpace::AllocationTracer.setup(%i{path line type})
result = ObjectSpace::AllocationTracer.trace do
begin
require 'bundler/inline'
rescue LoadError => e
$stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler'
raise e
end
gemfile(true) do
source 'https://rubygems.org'
gem 'benchmark-ips'
end
end
result.sort_by{|k, v| k}.each{|k, v|
puts ([v[0]]+k).join("\t")
}
```
**String allocations before**:
```
$ruby benchmark_allocations.rb | grep T_STRING | sort -nr | head -n 10
65461 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb 54 T_STRING
64982 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 163 T_STRING
29986 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/index.rb 71 T_STRING
22142 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/spec_set.rb 111 T_STRING
20457 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 225 T_STRING
5280 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/index.rb 87 T_STRING
4848 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/requirement.rb 92 T_STRING
4708 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/lockfile_parser.rb 54 T_STRING
4608 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 282 T_STRING
4561 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/index.rb 19 T_STRING
```
**String allocations after**:
```
$ ruby benchmark_allocations.rb | grep T_STRING | sort -nr | head -n 10
65479 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb 54 T_STRING
64143 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 163 T_STRING
22142 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/spec_set.rb 111 T_STRING
20407 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 225 T_STRING
5280 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/index.rb 90 T_STRING
4916 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/requirement.rb 92 T_STRING
4730 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/lockfile_parser.rb 54 T_STRING
4608 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 282 T_STRING
4561 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/index.rb 22 T_STRING
3334 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/spec_set.rb 134 T_STRING
```
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Index#search is called many times so this change is worth it.
With a single gem in your Gemfile, this change drops the string
allocations by nearly 30,000.
Script:
```ruby
require 'allocation_tracer'
ObjectSpace::AllocationTracer.setup(%i{path line type})
result = ObjectSpace::AllocationTracer.trace do
begin
require 'bundler/inline'
rescue LoadError => e
$stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler'
raise e
end
gemfile(true) do
source 'https://rubygems.org'
gem 'benchmark-ips'
end
end
result.sort_by{|k, v| k}.each{|k, v|
puts ([v[0]]+k).join("\t")
}
```
**String allocations before**:
```
$ruby benchmark_allocations.rb | grep T_STRING | sort -nr | head -n 10
65461 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb 54 T_STRING
64982 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 163 T_STRING
29986 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/index.rb 71 T_STRING
22142 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/spec_set.rb 111 T_STRING
20457 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 225 T_STRING
5280 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/index.rb 87 T_STRING
4848 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/requirement.rb 92 T_STRING
4708 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/lockfile_parser.rb 54 T_STRING
4608 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 282 T_STRING
4561 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/index.rb 19 T_STRING
```
**String allocations after**:
```
$ ruby benchmark_allocations.rb | grep T_STRING | sort -nr | head -n 10
65479 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb 54 T_STRING
64143 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 163 T_STRING
22142 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/spec_set.rb 111 T_STRING
20407 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 225 T_STRING
5280 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/index.rb 90 T_STRING
4916 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/requirement.rb 92 T_STRING
4730 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/lockfile_parser.rb 54 T_STRING
4608 /Users/joerafaniello/.rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/version.rb 282 T_STRING
4561 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/index.rb 22 T_STRING
3334 /Users/joerafaniello/.gem/ruby/2.2.3/gems/bundler-1.10.6/lib/bundler/spec_set.rb 134 T_STRING
```
|
|\ \
| | |
| | | |
Integrate new wording from version 1.2.0 of Code of Covenant
|
|/ /
| |
| |
| |
| | |
Reference:
http://contributor-covenant.org/version/1/2/0/code_of_conduct.md
|
|\ \
| |/
|/|
| |
| |
| | |
Clean RUBYLIB as well in `with_clean_env`
Fixes #3982.
|
| |
| |
| |
| | |
refs #3982
|
|/ |
|
|\
| |
| | |
Ignore ENV["BUNDLE_GEMFILE"] if it's empty
|
| |
| |
| |
| | |
Fixes #3678.
|
|\ \
| |/
|/| |
add http://
|
|/ |
|
|\
| |
| | |
Improve hint on conflict error message
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Given this previous configuration:
```ruby
gem 'rails', '~> 4.1.11'
gem 'sass-rails', '~> 4.0.3'
```
When changing both gem versions:
```ruby
gem 'rails', '~> 4.2.4'
gem 'sass-rails', '~> 5.0.0'
```
And running `bundle update rails`, you see this error message:
```
You have requested:
sass-rails ~> 5.0.0
The bundle currently has sass-rails locked at 4.0.3.
Try running `bundle update sass-rails`
```
This commit adds a hint to run `bundle update rails sass-rails`:
```
You have requested:
sass-rails ~> 5.0.0
The bundle currently has sass-rails locked at 4.0.3.
Try running `bundle update sass-rails`
If you are updating multiple gems in your Gemfile at once,
try passing them all to `bundle update`
```
|
|\ \
| |/
|/|
| |
| |
| | |
Dsl#with_source should restore the previous source
Fixes #3974.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this change, a gem inside a rubygems source block that also
defined a custom source, would cause subsequent gems inside that same
block to be fetched from rubygems.org.
For example:
source "https://rubygems.org"
source "https://foo.bar" do
gem "rails", git: "git@github.com/rails/rails.git"
gem "i18n"
end
In that case, i18n would be fetched from rubygems.org instead of
foo.bar.
Fixes #3974.
|
|\
| |
| |
| |
| |
| | |
Distinguish Gemfile syntax and evaluation errors
Fixes #3783.
|
| |
| |
| |
| | |
Fixes #3783.
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Output gemspec validation errors on exec commands
Fixes #3895.
|
| | |
| | |
| | |
| | | |
Fixes #3895.
|
|\ \ \
| |_|/
|/| |
| | |
| | | |
Various test cleanups
|
| | | |
|
|/ /
| |
| |
| | |
Follow-up to 0b49696285e3c45.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
make sure intersecting gem paths are cached
When a gem has the same path prefix as the application that is being bundled,
the gem will not be added to vendor/cache.
For example: a gem with a path /home/test/src/bundled_gem and an application with a path
/home/test/src/bundled that references it.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a gem has the same path prefix as the application that is being bundled,
the gem will not be added to vendor/cache.
For example: a gem with a path /home/test/src/bundled_gem and an application with a path
/home/test/src/bundled that references it.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
Use locked_requirement platform to print it out
None
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
make it able to specify gem host with GEM_HOST env
when you in your `.gemspec` specify
```
if spec.respond_to?(:metadata)
spec.metadata['allowed_push_host'] = 'https://gems.example.com'
end
```
you can't use the `bundler` rake tasks, as it can't specify the alternate host. This change picks up the `allowed_push_host` and uses it when pushing.
|
| | | | | |
|