| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
So that the behavior is the same regardless of the tested bundler
version.
|
| |
|
|
|
|
|
|
| |
* Drop bundler 1 stuff from tests.
* Move all feature flags to bundler 3 (like they are in 2-0-stable) and
get them tested.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7007: Remove lockfile incompatibility created by the `lockfile_uses_separate_rubygems_sources` setting r=deivid-rodriguez a=deivid-rodriguez
This is more of a question PR, I created this patch to try it out and try to understand, not necessarily get it merged.
### What was the end-user problem that led to this PR?
The problem was that once we enable the `lockfile_uses_separate_rubygems_sources` setting, all lockfiles in the world will become incompatible with the previous version. Actually, not necessarily incompatible, but bundler will reorder the sections when the setting is enabled, that will generate churn lock file diffs, and _maybe_ some confusion / merge conflicts, and so on.
### What was your diagnosis of the problem?
My diagnosis was that maybe this is not necessary. I read over the issues where this setting was added and what I understood is that previously if a Gemfile specified multiple rubygems sources, they would all get merged together and that's dangerous because it's not deterministic from which source each gem will be picked up, and that could be maliciously exploited. So now each source gets its own separate section. However, how does that affect the ordering of the sections? I don't think it should affect it?
### What is your fix for the problem, implemented in this PR?
My fix is to change the `lock_sources` method so that both code branches (`lockfile_uses_separate_rubygems_sources == true`, and `lockfile_uses_separate_rubygems_sources == false`) result in the same ordering of the source sections.
### Why did you choose this fix out of the possible options?
I chose this fix because I _think_ it keeps the setting doing the same thing, but also keeps lock file compatibility.
Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
|
| |
| |
| |
| |
| |
| | |
The `lockfile_uses_separate_rubygems_sources` was causing a lockfile
incompatibility but in my opinion, this incompatibility is not necessary
in the general case.
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
This allows installing plugins when the bundler is frozen, since plugins are not locked anyways
|
|\
| |
| |
| |
| |
| |
| |
| | |
6749: Add local git repository source option (`--local_git`) to plugin installation r=indirect a=indirect
Reopening #6338 to close #5446.
Co-authored-by: Saverio Miroddi <saverio.pub2@gmail.com>
|
| |
| |
| |
| | |
Addresses https://github.com/bundler/bundler/pull/6338#discussion_r177392401.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Convenience option for installing plugins from a local repository, using the local path:
bundle plugin install --file /path/to/bundler-dependency_graph bundler-dependency_graph
|
| |
| |
| |
| |
| | |
I don't know why it was there, and it makes things more complicated with
dealing and running assertions on ARGV.
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Version 1.16.1
# gpg: Signature made Fri Dec 22 01:46:37 2017 +07
# gpg: using ? key C3DA1D6CEFC720FA
# gpg: Can't check signature: unknown pubkey algorithm
# Conflicts:
# lib/bundler/version.rb
# spec/commands/exec_spec.rb
# spec/realworld/double_check_spec.rb
# spec/runtime/with_clean_env_spec.rb
# spec/spec_helper.rb
|
| | |
|
| |
| |
| |
| |
| | |
It's introduced by URI::Generic channges.
https://github.com/ruby/ruby/commit/ed48bfa5e8770a345424abd7f24f94ea9bbf5973
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Load digest subclasses in a thread-safe manner
The problem was `digest` files would sometimes be loaded twice.
My diagnosis was we needed to load the `digest` files using the `::Digest` method, which is explicitly thread-safe.
(cherry picked from commit 8efc35c2e2f68eae40639390b9ced72156d5d4a4)
|
| |
| |
| |
| |
| |
| | |
Bundler::Plugin::Index#installed_plugins is keys of Hash,
and Hash is not ordered in prior to Ruby 1.9.
So, foo and bar plugins are not always listed in that order.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add plugin list command
This is a continuation of PR #5672 which was originally created to fix Issue #5467
Fixes a typo from the last PR, and add additional test files to check Bundler::Plugin#list
|
| | | |
|
| |/
|/| |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Also ensure the resolver processes specs in the correct order for error messages
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Specify `--require spec_helper` in .rspec
Specifying `--require spec_helper` in .rspec will automatically require spec_helper in *_spec.rb.
It isn't necessary to specify `require "spec_helper"` in individual *_spec.rb. I think that it's a [DRY](https://en.wikipedia.org/wiki/Don't_repeat_yourself) way.
Refer: https://github.com/rspec/rspec/wiki#rspec
|
| | |
|
|/
|
|
| |
Run `rubocop -a --only Style/PercentLiteralDelimiters` and `rubocop --auto-gen-config`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, when encountering any kind of exception when installing or
registering a plugin, we would uninstall _everything_ in `specs`, which included
not just every installed plugin but Bundler itself :scream: This patch
prevents this from happening, by only attempting to delete code that is
a) part of the installation attempt and b) NOT a currently registered
command. This second restriction is to avoid a broken state, in the case
where we attempt to install the same plugin twice. In that case, if we uninstall
the code for the plugin, but leave the command registered, this causes
attempts to reinstall the plugin to fail, as the command is still in the
registry, and attempts to USE the command will fail because the code behind
it has beendestroyed.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
Project local plugins
If the user is in an app directory the plugin is installed in `.bundle/` inside the app root.
If the user is in not in any app directory the plugin is installed in the `.bundle/` in the user's home.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
| |
Not a common case, but glitch is triggered by new plugin integration
tests when there's no Gemfile or .bundle directory. A GemfileNotFound
exception is raised deeper down the call stack trying to access the
cache_path when executed in a non-bundler dir. That case apparently is
legit for plugins.
|