| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Call IO.popen instead of backticks
IO.popen with the command in an array doesn't need command line
quotes, and is safer.
Thanks so much for the contribution!
To make reviewing this PR a bit easier, please fill out answers to the following questions.
### What was the end-user problem that led to this PR?
Back-ticks with command line quoting is dangerous.
### What was your diagnosis of the problem?
Back-ticks is not for complex purpose.
### What is your fix for the problem, implemented in this PR?
Use `IO.popen` and redirection option instead.
### Why did you choose this fix out of the possible options?
`IO.popen` and options of `spawn` have been introduced for such purpose.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
IO.popen with the command in an array doesn't need command line
quotes, and is safer.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Pass gemspec directory path to Git
### What was the end-user problem that led to this PR?
The problem was...
- This WIP PR tries to solve Issue #6029
- When running commands like `dbundle -v` as described in [SETUP.md](https://github.com/bundler/bundler/blob/master/doc/development/SETUP.md#development-setup), commands give us a git error.
### What was your diagnosis of the problem?
- Like stated in Issue #6029, the git option `-C` should be used to pass the directory containing the gemspec file to the git command.
My diagnosis was...
- to give git the correct directory path where the gemspec file is
### What is your fix for the problem, implemented in this PR?
My fix...
- I'm wondering if I'm on the right track with this?
- So, I ran `bin/rspec /spec/install/gemfile/gemspec_spec` and the specs passed. I then run the entire test suite and the `gemspec_spec` and a few other specs fail throughout the test suite.
Then, I re-ran the failing specs files individually-- both as a whole, as well as on the failing lines, and yet they're green. I'm assuming I'll similarly get failing specs on Travis. I'm not really familiar with how to troubleshoot test suites with test pollution.
- Could folks point me in the right direction? Any help would be much appreciated!
### Why did you choose this fix out of the possible options?
I chose this fix because...
- I chose to `require "pathname"`because I found it more intuitive to manipulate file paths with that library.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Added a sentence to `binstubs`
Per feedback from @arbonap, we've added a sentence that briefly explains what binstubs is to the binstubs section.
Thanks so much for the contribution!
To make reviewing this PR a bit easier, please fill out answers to the following questions.
### What was the end-user problem that led to this PR?
The problem was...no understanding of what binstubs is. Added a quick two sentences!
### What was your diagnosis of the problem?
My diagnosis was...we needed some language there. @arbonap and @indirect pointed this out and offered the explanations.
### What is your fix for the problem, implemented in this PR?
My fix...was to turn their explanations into simple language!
### Why did you choose this fix out of the possible options?
I chose this fix because...it'll help users understand binstubs better
|
| | | |
| | | |
| | | | |
from line 54
|
| | | |
| | | |
| | | | |
(Fingers crossed!)
|
| | | |
| | | |
| | | | |
From line 51
|
| | | |
| | | |
| | | | |
Per feedback from @arbonap, we've added a sentence that briefly explains what binstubs is to the binstubs section.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
use rubocop --parallel option
### What was the end-user problem that led to this PR?
No
### What is your fix for the problem, implemented in this PR?
My fix enable rubocop's parallel option.
This may improve rubocop's test time.
|
| | | | | |
|
|\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
r=colby-swandale
Update newgem README.md template for Bundler 2
### What was the end-user problem that led to this PR?
`bundle` command has been changed to display list of commands with Bundle 2.
```console
% bundle
Bundler version 2.0.0.dev (2017-09-29 commit 5e9c40aa1)
Bundler commands:
Primary commands:
bundle install [OPTIONS] # Install the current environment to the system
bundle update [OPTIONS] # Update the current environment
bundle cache [OPTIONS] # Locks and then caches all of the gems into vendor/cache
bundle exec [OPTIONS] # Run the command in context of the bundle
bundle config NAME [VALUE] # Retrieve or set a configuration value
bundle help [COMMAND] # Describe available commands or one specific command
(snip)
```
Therefore, it can not be installed with `bundle` command written in README.md created by `bundle gem`.
### What was your diagnosis of the problem?
It is the same as above.
### What is your fix for the problem, implemented in this PR?
I think that it is better to write `bundle install` in the README template of `bundle gem`.
|
|/ / / / |
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
update rubygems to v2.6.13
### What was the end-user problem that led to this PR?
rubygems v2.6.12 has important security issues.
So, It's better to update v2.6.13 to rubygems.
http://blog.rubygems.org/2017/08/27/2.6.13-released.html
|
|/ / / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
update ruby version to v2.3.4 to v2.3.5, v2.4.1 to v2.4.2
https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/
https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-4-2-released/
|
|/ / / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
update rubocop to 0.50
This PR just updates rubocop to 0.50
|
| | |/
| |/| |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allow user to override ~/.bundle with environment variables
### What was the end-user problem that led to this PR?
As in #4333, users wanted a way to make Bundler respect the XDG specification.
### What was your diagnosis of the problem?
The directory `~/.bundle` was hard-coded and could not be configured.
### What is your fix for the problem, implemented in this PR?
Allow users to configure `~/.bundle` and its relevant sub-directories by setting environment variables. The environment variables and their fallbacks are as follows:
| variable | fallback if unset |
|---|---|
| `BUNDLE_USER_HOME` | `$HOME/.bundle` |
| `BUNDLE_USER_CACHE` | `$BUNDLE_USER_HOME/cache` |
| `BUNDLE_USER_CONFIG` | `$BUNDLE_USER_HOME/config` |
| `BUNDLE_USER_PLUGIN` | `$BUNDLE_USER_HOME/plugin` |
### Why did you choose this fix out of the possible options?
Unlike https://github.com/bundler/bundler/pull/5787, This solution is not specific to the XDG specification. Users have all kinds of setups, and this is a very general system for allowing them to configure their development machines however they need. It tries to keep all files created by Bundler in the same place (as per https://github.com/bundler/bundler/pull/5787#issuecomment-310154273), but allows the user to override that convention _if they really want to and they know what they are doing_.
If they want to use XDG for everything, they can do it by explicitly setting the `BUNDLE_USER_*` variables to the equivalent `XDG_DATA_*`. If they just want to get `.bundle` out of their home directory, they can do it by setting `BUNDLE_USER_HOME` and don't have to mess with the more specific env variables if they don't want to.
To me, this solution strikes the right balance between "fine-grained control for power users" and "simple, sane defaults for everyone else".
Please let me know if my tests can be improved. My only Ruby experience so far has been writing Homebrew formulas and configuring Jekyll, so I'm sure I have a lot to learn.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Mostly unmodified tests from PR 5787 (not linked here to respect
contribution guidelines).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Recognize new environment variables, with the following fallbacks:
$BUNDLE_USER_HOME -> $HOME/.bundle
$BUNDLE_USER_CACHE -> $BUNDLE_USER_HOME/cache
$BUNDLE_USER_CONFIG -> $BUNDLE_USER_HOME/config
$BUNDLE_USER_PLUGIN -> $BUNDLE_USER_HOME/plugin
TODOs:
- Error handling in Bundler.user_bundle_path when an invalid option is
passed
- Add tests (see https://github.com/bundler/bundler/pull/5787/commits/47fbe99387fea73fa652ad6692349b24cad6fe2e)
- Draft PR with reference to GitHub issue numbers (not linked here as
per contributing guidelines)
+ Issue: 4333
+ Pull request: 5787
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[Source::Rubygems] Remove .gem if downloaded package is invalid
### What was the end-user problem that led to this PR?
The problem was the user could (once) have downloaded a `.gem` file that isn't actually a `.gem`, and that package would poison their cache.
Closes https://github.com/bundler/bundler/issues/5941.
### What was your diagnosis of the problem?
My diagnosis was we should remove the `.gem` right after downloading it if we can't open it.
### What is your fix for the problem, implemented in this PR?
My fix `rm_rf`'s the `.gem` on failure.
### Why did you choose this fix out of the possible options?
I chose this fix because it won't accidentally nuke existing cache entries for a user, but it should help prevent Bundler propagating an issue.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
[CLI] Switch around the --strict option for bundle outdated
### What was the end-user problem that led to this PR?
The problem was
> outdated would be more consistent to change --strict to --filter-strict and --update-strict to --strict
### What was your diagnosis of the problem?
My diagnosis was
> let's rename --strict to --filter-strict and rename the current --update-strict to --strict. In another ticket, later, we can expand the way outdated works to not need as many flags to show the relevant info
### What is your fix for the problem, implemented in this PR?
My fix switches around the options, by just making `--strict` an alias that means something different on 2.0 than on 1.0
### Why did you choose this fix out of the possible options?
I chose this fix because it allowed keeping temporary 1.x compatibility, versus wholesale renaming of the option.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
r=indirect
[CLI] For now, disable the new version warning by default
### What was the end-user problem that led to this PR?
The problem was people were getting confused by the terseness and bluntness of the current outdated bundler version warning.
### What was your diagnosis of the problem?
My diagnosis was we need to spend time fine-tuning the message, including when it is displayed. But given the lack of time to do so immediately, I thought it best to disable the warning for now, until someone can make a PR that addresses the comments and concerns raised in #6004.
|
| |/ / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Avoid making unnecessary network requests fetching specs
### What was the end-user problem that led to this PR?
The problem was installing `source "https://rubygems.org"; gem "rack"` could cause bundler to make requests for _hundreds_ of specs, drastically slowing down installation. This was a regression in 1.16 caused by the new source pinning logic.
### What was your diagnosis of the problem?
My diagnosis was the "double checking" step of creating the definition's index was accidentally saying Bundler needed to download specs for _every gem installed_, along with their dependencies _for every version in existence_.
### What is your fix for the problem, implemented in this PR?
My fix narrows down the set of names that need to be double-checked for to (a) only those that could possibly be needed for resolution (b) and only those specs that could possibly come from many sources (i.e. are "unpinned")
### Why did you choose this fix out of the possible options?
I chose this fix because it takes that `rack` gemfile back down to __2__ requests: `/versions` and `/info/rack`, as it should be, while maintaining proper searching for back-deps.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This means specs with a Gem::Platform can be compared to those with a platform string
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This avoids attempting to double-check in each source for gems that are _in the locally installed set of gems_, which could add hundreds or thousands of extra requests
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |/ / / / |
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | | |
Expand `env` output
We've been printing the version of OpenSSL that Ruby was compiled against, but not the version that was dynamically linked at runtime, which is a huge potential issue. While I was there, I added a few more things that seemed helpful.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Also, that everything is properly indented etc
|
|/ / / / |
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | | |
Avoid warning for stubbing `nil`
since we now test what happens if `socket` is `nil`, and `rspec-mocks` warns when we do that
|
|/ / / |
|