Age | Commit message (Collapse) | Author |
|
Previously they were printing the original command that was run, and
telling the user to rerun it. However, the command sometimes would not
match the exact command that was run (for example, when using the
`--local` flag), and in any case, it's simpler and more useful to print
the underlying error anyways.
https://github.com/rubygems/rubygems/commit/5bc0d51b58
|
|
incomplete resolve
In case we have a corrupted lockfile that claims to support a platform, but
it's missing platform specific gems for it, bundler has a check that
detects the situation and forces a re-resolve. The result of this check
is kept under the `@locked_specs_incomplete_for_platformn` instance
variable in `Definition`.
The installer, however, calls `Definition#nothing_changed?` before this
instance variable has been filled, so the result of it is actually
incorrect here since it will claim that nothing has changed, but
something has changed (locked specs are incomplete for the current
platform).
The consequence of this incorrect result is that the installer thinks it
can go on without re-resolving, resulting in the incomplete resolution
from the lockfile being used, and in a crash being triggered due to
that.
The solution is to make sure the `@locked_specs_incomplete_for_platform`
instance variable is filled before `nothing_changed?` gets called.
Moving it to `initialize` makes the most sense, not because it's the
best place for it (we can refactor this later), but because all of the
other "outdated definition" checks are already set there.
https://github.com/rubygems/rubygems/commit/708afdd789
|
|
https://github.com/rubygems/rubygems/commit/8950631f02
|
|
The other way, in particular matching a substring in the gemspec
summary, is brittle and no longer used since Ruby 2.0.
This needed rewriting the specs that depended on that way.
https://github.com/rubygems/rubygems/commit/059dbfa971
|
|
All supported rubygems versions implement this.
https://github.com/rubygems/rubygems/commit/2130782ef6
|
|
The spec was just faking an installed gemspec without any installed gem
backing it up, resulting in `bundle install` claiming that the gem was
already installed when it was not.
https://github.com/rubygems/rubygems/commit/c35531d1c7
|
|
https://github.com/rubygems/rubygems/commit/ff86cd7dd2
|
|
If a non exact name (matched as a regexp) is passed to `bundle info`,
these strings might not match.
https://github.com/rubygems/rubygems/commit/831edf1edf
|
|
https://github.com/rubygems/rubygems/commit/80158e9d75
|
|
https://github.com/rubygems/rubygems/commit/7a0bd9801d
|
|
In 2021, Ruby 2.5 and older are EOL.
We can set the default required Ruby version to 2.6.0 to
encourage people to use newer Ruby.
If the command is executed with old Ruby, it falls back to 2.3.0.
It's still possible to create a gem for older Ruby just by changing
two lines of code (one in gemspec and another is in rubocop.yml).
|
|
https://github.com/rubygems/rubygems/commit/01feb40283
|
|
https://github.com/rubygems/rubygems/commit/12af03d32f
|
|
Unless the `:branch` option is passed.
It's more efficient, and it results in less hardcoding of "master".
https://github.com/rubygems/rubygems/commit/aa5c3409ab
|
|
For efficiency.
https://github.com/rubygems/rubygems/commit/979d1634dd
|
|
This doesn't affect the outcome of the test, but it makes the `git
commit` command inside `update_git` not fail because of not having
anything to commit.
https://github.com/rubygems/rubygems/commit/ad0160ed97
|
|
We want to update the original repo, not a fresh one.
This went undetected because the `git commit` command inside the
`update_git` method ignores failures, and in this case it was failing
because all files are untracked in the new repo.
I will fix that later but for now fix the typo.
https://github.com/rubygems/rubygems/commit/c889f1d715
|
|
https://github.com/rubygems/rubygems/commit/90c1919f94
|
|
The glob information was not specified in the string representation for
a source, which led to non-deterministic behaviour when generating the
lockfile, since sources are sorted by this value.
https://github.com/rubygems/rubygems/commit/493b880abc
|
|
example.com is the canonical stand in for domain examples and will never have a backing website.
via https://www.rfc-editor.org/rfc/rfc2606.html
https://github.com/rubygems/rubygems/commit/26622c81c2
|
|
Closes https://github.com/rubygems/rubygems/issues/4889
https://github.com/rubygems/rubygems/commit/2b1754479c
|
|
Same reason as in the previous commit.
https://github.com/rubygems/rubygems/commit/f00a6c8516
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
versions
https://github.com/rubygems/rubygems/commit/9c88db949d
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/4188ebd568
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
The error had not be caught be specs because `bundle install` was
returning a zero exit code when plugin installation errors happened. So
I fixed that issue too.
https://github.com/rubygems/rubygems/commit/90cde87856
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/290b6ab078
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
If the lockfile contains multiple platforms, `bundle check` would show
duplicated missing gems.
https://github.com/rubygems/rubygems/commit/6ac5931783
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
As part of a recent bug fix where bundler was accidentally hitting the
network when not supposed to, I made some refactoring, and the commit I'm
reverting here
(https://github.com/rubygems/rubygems/commit/d74830d00bb541883377992f56818620a78930b0)
was some cleanup that those refactorings allowed according to "past me".
That was completely wrong, `bundle check` should never consider cached
gems, only installed gems, so the code that was removed was necessary.
https://github.com/rubygems/rubygems/commit/5483e98305
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
Use the `git branch --list` rather than the `git branch -l` for better
compatibility. Because the `git branch -l` is used to create a new branch in
Git version < 2.20.0.
https://github.com/rubygems/rubygems/commit/eac5be7d06
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/58fc31442f
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
Running `bundler` specs using `bundler` is not supported.
https://github.com/rubygems/rubygems/commit/cc97b6773d
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
When setting the `RUBYGEMS_GEMDEPS` environment variable to allow
skipping `bundle exec`, `bundler` will print a warning about potential
incompatibility.
Initially the `RUBYGEMS_GEMDEPS` variable used a completely different
(re)implementation of `bundler` functionality. That implementation was
not battle tested and could potentially differ in behaviour from what
`bundler` does. That's why print a warning.
However, these days, all `rubygems` does when `RUBYGEMS_GEMDEPS` is set
is to require `bundler/setup`, so there's no risk of any
incompatibility, since that's just plain `bundler`.
https://github.com/rubygems/rubygems/commit/bbddc27016
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
Given Windows doesn't have executable bit.
https://github.com/rubygems/rubygems/commit/35dc3fa845
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/a2d6e10192
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/36a00144b9
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/591466d512
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
The processed YML data is included as metadata, the source gemspec
file is unused and just confusing.
https://github.com/rubygems/rubygems/commit/f444478eac
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
between sentence breaks
https://github.com/rubygems/rubygems/commit/5cdda53382
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
network
If the cache was missing, `bundler` would try to re-fetch it. With the
`--local` flag, it should just look at installed gems.
https://github.com/rubygems/rubygems/commit/630d29c69e
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/06f5efce02
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
When printing sources inside these error messages, it's useful to only
consider the current state of the source. For example, when requiring
`bundler/setup`, the source shouldn't be configured to be able to hit
the network, so the error message should only mention "locally installed
gems" to make that more clear.
https://github.com/rubygems/rubygems/commit/30eb14f853
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
It doesn't really add much, in my opinion. We want to be helpful, but
also concise when possible.
https://github.com/rubygems/rubygems/commit/9d56009cf7
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
In the case of path sources, the path the source is pointing to should
be added directly to the `$LOAD_PATH` without any modifications.
https://github.com/rubygems/rubygems/commit/d3bba936f0
Co-authored-by: Daniel Niknam <mhmd.niknam@gmail.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
Under some case, this variable might not end up being used, in which
case running the script would print unused variable warnings.
https://github.com/rubygems/rubygems/commit/bf96030362
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
Under some case, this variable might not end up being used, in which
case running the script would print unused variable warnings.
https://github.com/rubygems/rubygems/commit/a2d6392ada
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
We can use `__dir__` directly.
https://github.com/rubygems/rubygems/commit/0e6083ca94
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/f28ab141af
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
Rubygems source replacement was broken.
https://github.com/rubygems/rubygems/commit/3549c122f6
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
TSort was released as a library so we can install it, and also other
gems that are loaded by the spec. Also, Ruby on Windows apparently loads
fiddle 1.0.6, so we need to also install that to make that not fail.
https://github.com/rubygems/rubygems/commit/2b8dcab99e
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
These gems are built and installed to system directly as default gems.
There's no need to also build a remote repo.
https://github.com/rubygems/rubygems/commit/ad9dad4c22
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|