<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/bundler.git/lib, branch parallelize_again</title>
<subtitle>github.com: bundler/bundler.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/bundler.git/'/>
<entry>
<title>Merge #5521</title>
<updated>2020-01-08T07:16:22+00:00</updated>
<author>
<name>Bundlerbot</name>
<email>bot@bundler.io</email>
</author>
<published>2020-01-08T07:16:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/bundler.git/commit/?id=d9ea09defd07e9957ae782ab7960ebea92515c3c'/>
<id>d9ea09defd07e9957ae782ab7960ebea92515c3c</id>
<content type='text'>
5521: bundler gem: Support test-unit as a testing framework r=hsbt a=kou



Co-authored-by: Kouhei Sutou &lt;kou@clear-code.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
5521: bundler gem: Support test-unit as a testing framework r=hsbt a=kou



Co-authored-by: Kouhei Sutou &lt;kou@clear-code.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge #7529</title>
<updated>2020-01-05T01:17:33+00:00</updated>
<author>
<name>Bundlerbot</name>
<email>bot@bundler.io</email>
</author>
<published>2020-01-05T01:17:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/bundler.git/commit/?id=4bf7ea614c9c3f0d4c39f22b80ea0622cd3598c7'/>
<id>4bf7ea614c9c3f0d4c39f22b80ea0622cd3598c7</id>
<content type='text'>
7529: Remove optional require net-http-pipeline from vendored net-http-persistent. r=deivid-rodriguez a=marciotoshio

### What was the end-user problem that led to this PR?

See issue https://github.com/bundler/bundler/issues/7521.

### What was your diagnosis of the problem?

My diagnosis was If you have net-http-pipeline gem installed bundler loads it and you can't vendor it.

### What is your fix for the problem, implemented in this PR?

My fix is remove the optional require of net-http-pipeline.

### Why did you choose this fix out of the possible options?

I chose this fix because was a recommendation in the issue by @deivid-rodriguez 

Fixes #7521.


Co-authored-by: David Rodríguez &lt;deivid.rodriguez@riseup.net&gt;
Co-authored-by: Marcio Toshio &lt;marcio@tosh.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
7529: Remove optional require net-http-pipeline from vendored net-http-persistent. r=deivid-rodriguez a=marciotoshio

### What was the end-user problem that led to this PR?

See issue https://github.com/bundler/bundler/issues/7521.

### What was your diagnosis of the problem?

My diagnosis was If you have net-http-pipeline gem installed bundler loads it and you can't vendor it.

### What is your fix for the problem, implemented in this PR?

My fix is remove the optional require of net-http-pipeline.

### Why did you choose this fix out of the possible options?

I chose this fix because was a recommendation in the issue by @deivid-rodriguez 

Fixes #7521.


Co-authored-by: David Rodríguez &lt;deivid.rodriguez@riseup.net&gt;
Co-authored-by: Marcio Toshio &lt;marcio@tosh.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove require net-http-pipeline from vendored net-http-persistent.</title>
<updated>2020-01-03T09:27:47+00:00</updated>
<author>
<name>Marcio Toshio</name>
<email>marcio@tosh.io</email>
</author>
<published>2019-12-31T13:02:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/bundler.git/commit/?id=92bdbeddfc6bcd11b9d7e9c6ebc2568875c7a4ce'/>
<id>92bdbeddfc6bcd11b9d7e9c6ebc2568875c7a4ce</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Reset `Gemfile` to the empty string after bundler/inline</title>
<updated>2020-01-02T16:58:40+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2020-01-02T16:58:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/bundler.git/commit/?id=061982bc2ad8ab719ee5d30cd1f793389abb1711'/>
<id>061982bc2ad8ab719ee5d30cd1f793389abb1711</id>
<content type='text'>
To avoid Gemfile resolution afterwards, and use the "inline
environment" instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To avoid Gemfile resolution afterwards, and use the "inline
environment" instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Set master's version to 2.2.0.dev</title>
<updated>2020-01-01T20:15:33+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2020-01-01T20:15:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/bundler.git/commit/?id=9bc88192ec28fe62d52832e9e7e41b374fe67eba'/>
<id>9bc88192ec28fe62d52832e9e7e41b374fe67eba</id>
<content type='text'>
So that it's always higher than the latest patch level release. This
saves us from having to merge back the version bump after each patch
level release, which is also not accurate since master is "bigger" than
the latest patch level release anyways.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
So that it's always higher than the latest patch level release. This
saves us from having to merge back the version bump after each patch
level release, which is also not accurate since master is "bigger" than
the latest patch level release anyways.
</pre>
</div>
</content>
</entry>
<entry>
<title>Unify deployment setting and flag</title>
<updated>2019-12-31T14:56:52+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2019-12-23T21:19:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/bundler.git/commit/?id=4d263d5087c3ccf54649ac2a10ba96cd0245e7b0'/>
<id>4d263d5087c3ccf54649ac2a10ba96cd0245e7b0</id>
<content type='text'>
Previously, we were recommending `bundle config deployment true; bundle
install` as an alternative to `bundle install --deployment`, but they
were not working equally.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, we were recommending `bundle config deployment true; bundle
install` as an alternative to `bundle install --deployment`, but they
were not working equally.
</pre>
</div>
</content>
</entry>
<entry>
<title>Do `require "rubygems"` only when needed</title>
<updated>2019-12-25T05:13:15+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2019-12-25T05:13:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/bundler.git/commit/?id=c7c5bcea92b1f791cb12e924e75e2dba77cc37ee'/>
<id>c7c5bcea92b1f791cb12e924e75e2dba77cc37ee</id>
<content type='text'>
This require causes circular require.

```
$ touch empty_file

$ RUBYGEMS_GEMDEPS=empty_file ./local/bin/ruby -w -e ''
/home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: loading in progress, circular require considered harmful - /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb
	from &lt;internal:gem_prelude&gt;:1:in  `&lt;internal:gem_prelude&gt;'
	from &lt;internal:gem_prelude&gt;:1:in  `require'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1417:in  `&lt;top (required)&gt;'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1203:in  `use_gemdeps'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/user_interaction.rb:47:in  `use_ui'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1204:in  `block in use_gemdeps'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in  `require'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in  `require'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in  `&lt;top (required)&gt;'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in  `require_relative'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler/rubygems_integration.rb:3:in  `&lt;top (required)&gt;'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in  `require'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in  `require'
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This require causes circular require.

```
$ touch empty_file

$ RUBYGEMS_GEMDEPS=empty_file ./local/bin/ruby -w -e ''
/home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: loading in progress, circular require considered harmful - /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb
	from &lt;internal:gem_prelude&gt;:1:in  `&lt;internal:gem_prelude&gt;'
	from &lt;internal:gem_prelude&gt;:1:in  `require'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1417:in  `&lt;top (required)&gt;'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1203:in  `use_gemdeps'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/user_interaction.rb:47:in  `use_ui'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1204:in  `block in use_gemdeps'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in  `require'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in  `require'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in  `&lt;top (required)&gt;'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in  `require_relative'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler/rubygems_integration.rb:3:in  `&lt;top (required)&gt;'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in  `require'
	from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in  `require'
```
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge #7510</title>
<updated>2019-12-23T21:28:55+00:00</updated>
<author>
<name>Bundlerbot</name>
<email>bot@bundler.io</email>
</author>
<published>2019-12-23T21:28:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/bundler.git/commit/?id=b1652efe9a561cf930c0351592459bbc2a2b2c98'/>
<id>b1652efe9a561cf930c0351592459bbc2a2b2c98</id>
<content type='text'>
7510: Don't spawn a shell when git pushing on release r=deivid-rodriguez a=deivid-rodriguez

### What was the end-user problem that led to this PR?

The problem was that I almost went crazy when trying to release the last bundler version. `rake release` was hanging and I didn't know why.

### What was your diagnosis of the problem?

Thanks to passing `DEBUG=true` to the task, I noticed that it was `git push` and `git push --tags` commands that were hanging:

```
$ DEBUG=true bin/rake release
["gem", "build", "-V", "/home/deivid/Code/bundler/bundler.gemspec"]
bundler 2.1.2 built to pkg/bundler-2.1.2.gem.
["git", "diff", "--exit-code"]
["git", "diff-index", "--quiet", "--cached", "HEAD"]
["git", "tag"]
["git", "tag", "-m", "Version 2.1.2", "v2.1.2"]
Tagged v2.1.2.
git push git push  --tags
^Crake aborted!
Interrupt: 
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:198:in `read'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:198:in `popen'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:198:in `block in sh_with_status'
/home/deivid/Code/bundler/lib/bundler/shared_helpers.rb:52:in `chdir'
/home/deivid/Code/bundler/lib/bundler/shared_helpers.rb:52:in `block in chdir'
/home/deivid/Code/bundler/lib/bundler/shared_helpers.rb:51:in `chdir'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:197:in `sh_with_status'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:133:in `perform_git_push'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:115:in `git_push'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:64:in `block (2 levels) in install'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:160:in `tag_version'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:64:in `block in install'
/home/deivid/Code/bundler/Rakefile:14:in `block in invoke'
/home/deivid/Code/bundler/Rakefile:13:in `invoke'
/home/deivid/Code/bundler/spec/support/rubygems_ext.rb:87:in `load'
/home/deivid/Code/bundler/spec/support/rubygems_ext.rb:87:in `gem_load_and_activate'
/home/deivid/Code/bundler/spec/support/rubygems_ext.rb:45:in `gem_load'
Tasks: TOP =&gt; release =&gt; release:source_control_push
(See full trace by running task with --trace)
```

The debugging output is very interesting because it also tells us that these commands are the only ones passing Strings to `IO.popen` instead of Arrays. That means these commands are [spawning a new shell](https://ruby-doc.org/core-2.6.5/IO.html#method-c-popen).

That's when I realized that I have [hub](https://github.com/github/hub) installed on my system and `git` aliased to it. So I figure this aliasing was interacting with the subcommand in a bad way.

Indeed, disabling `hub` fixed the issue and let me make the release.

### What is your fix for the problem, implemented in this PR?

I think we can avoid other issues similar to this for people pushing releases by not spawing a shell here, just like we do with all of the other commands.

I think it's a good practice anyways.

### Why did you choose this fix out of the possible options?

I chose this fix because I think it makes the code better. Of course I can disable `hub` every time I release, but I think this is worth doing.

Co-authored-by: David Rodríguez &lt;deivid.rodriguez@riseup.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
7510: Don't spawn a shell when git pushing on release r=deivid-rodriguez a=deivid-rodriguez

### What was the end-user problem that led to this PR?

The problem was that I almost went crazy when trying to release the last bundler version. `rake release` was hanging and I didn't know why.

### What was your diagnosis of the problem?

Thanks to passing `DEBUG=true` to the task, I noticed that it was `git push` and `git push --tags` commands that were hanging:

```
$ DEBUG=true bin/rake release
["gem", "build", "-V", "/home/deivid/Code/bundler/bundler.gemspec"]
bundler 2.1.2 built to pkg/bundler-2.1.2.gem.
["git", "diff", "--exit-code"]
["git", "diff-index", "--quiet", "--cached", "HEAD"]
["git", "tag"]
["git", "tag", "-m", "Version 2.1.2", "v2.1.2"]
Tagged v2.1.2.
git push git push  --tags
^Crake aborted!
Interrupt: 
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:198:in `read'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:198:in `popen'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:198:in `block in sh_with_status'
/home/deivid/Code/bundler/lib/bundler/shared_helpers.rb:52:in `chdir'
/home/deivid/Code/bundler/lib/bundler/shared_helpers.rb:52:in `block in chdir'
/home/deivid/Code/bundler/lib/bundler/shared_helpers.rb:51:in `chdir'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:197:in `sh_with_status'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:133:in `perform_git_push'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:115:in `git_push'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:64:in `block (2 levels) in install'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:160:in `tag_version'
/home/deivid/Code/bundler/lib/bundler/gem_helper.rb:64:in `block in install'
/home/deivid/Code/bundler/Rakefile:14:in `block in invoke'
/home/deivid/Code/bundler/Rakefile:13:in `invoke'
/home/deivid/Code/bundler/spec/support/rubygems_ext.rb:87:in `load'
/home/deivid/Code/bundler/spec/support/rubygems_ext.rb:87:in `gem_load_and_activate'
/home/deivid/Code/bundler/spec/support/rubygems_ext.rb:45:in `gem_load'
Tasks: TOP =&gt; release =&gt; release:source_control_push
(See full trace by running task with --trace)
```

The debugging output is very interesting because it also tells us that these commands are the only ones passing Strings to `IO.popen` instead of Arrays. That means these commands are [spawning a new shell](https://ruby-doc.org/core-2.6.5/IO.html#method-c-popen).

That's when I realized that I have [hub](https://github.com/github/hub) installed on my system and `git` aliased to it. So I figure this aliasing was interacting with the subcommand in a bad way.

Indeed, disabling `hub` fixed the issue and let me make the release.

### What is your fix for the problem, implemented in this PR?

I think we can avoid other issues similar to this for people pushing releases by not spawing a shell here, just like we do with all of the other commands.

I think it's a good practice anyways.

### Why did you choose this fix out of the possible options?

I chose this fix because I think it makes the code better. Of course I can disable `hub` every time I release, but I think this is worth doing.

Co-authored-by: David Rodríguez &lt;deivid.rodriguez@riseup.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 2.1.2</title>
<updated>2019-12-22T13:45:36+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2019-12-19T17:50:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/bundler.git/commit/?id=32ee718626f860892ae9f436a08a7c616b9bc582'/>
<id>32ee718626f860892ae9f436a08a7c616b9bc582</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge #7513</title>
<updated>2019-12-22T02:47:51+00:00</updated>
<author>
<name>Bundlerbot</name>
<email>bot@bundler.io</email>
</author>
<published>2019-12-22T02:47:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/bundler.git/commit/?id=66e0cbed52729cff9d3b4cf16c4823ae6f865409'/>
<id>66e0cbed52729cff9d3b4cf16c4823ae6f865409</id>
<content type='text'>
7513: Improve error message when not logged in r=deivid-rodriguez a=steveklabnik

`gem push` makes you add other parameters, and is awkward to figure out the details. `gem signin` is a more direct way of doing this.

Co-authored-by: Steve Klabnik &lt;steve@steveklabnik.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
7513: Improve error message when not logged in r=deivid-rodriguez a=steveklabnik

`gem push` makes you add other parameters, and is awkward to figure out the details. `gem signin` is a more direct way of doing this.

Co-authored-by: Steve Klabnik &lt;steve@steveklabnik.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
