bundler_package_git 1.1.pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. data/.gitignore +22 -0
  2. data/.rvmrc +1 -0
  3. data/CHANGELOG.md +659 -0
  4. data/ISSUES.md +47 -0
  5. data/LICENSE +23 -0
  6. data/README.md +29 -0
  7. data/Rakefile +167 -0
  8. data/UPGRADING.md +103 -0
  9. data/bin/bundle +22 -0
  10. data/bundler.gemspec +30 -0
  11. data/lib/bundler.rb +283 -0
  12. data/lib/bundler/capistrano.rb +11 -0
  13. data/lib/bundler/cli.rb +490 -0
  14. data/lib/bundler/definition.rb +429 -0
  15. data/lib/bundler/dependency.rb +130 -0
  16. data/lib/bundler/deployment.rb +53 -0
  17. data/lib/bundler/dsl.rb +243 -0
  18. data/lib/bundler/environment.rb +47 -0
  19. data/lib/bundler/fetcher.rb +101 -0
  20. data/lib/bundler/gem_helper.rb +146 -0
  21. data/lib/bundler/graph.rb +130 -0
  22. data/lib/bundler/index.rb +131 -0
  23. data/lib/bundler/installer.rb +117 -0
  24. data/lib/bundler/lazy_specification.rb +71 -0
  25. data/lib/bundler/lockfile_parser.rb +108 -0
  26. data/lib/bundler/remote_specification.rb +57 -0
  27. data/lib/bundler/resolver.rb +470 -0
  28. data/lib/bundler/rubygems_ext.rb +226 -0
  29. data/lib/bundler/runtime.rb +201 -0
  30. data/lib/bundler/settings.rb +117 -0
  31. data/lib/bundler/setup.rb +16 -0
  32. data/lib/bundler/shared_helpers.rb +167 -0
  33. data/lib/bundler/source.rb +675 -0
  34. data/lib/bundler/spec_set.rb +134 -0
  35. data/lib/bundler/templates/Executable +16 -0
  36. data/lib/bundler/templates/Gemfile +4 -0
  37. data/lib/bundler/templates/newgem/Gemfile.tt +4 -0
  38. data/lib/bundler/templates/newgem/Rakefile.tt +2 -0
  39. data/lib/bundler/templates/newgem/bin/newgem.tt +3 -0
  40. data/lib/bundler/templates/newgem/gitignore.tt +4 -0
  41. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +7 -0
  42. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +7 -0
  43. data/lib/bundler/templates/newgem/newgem.gemspec.tt +21 -0
  44. data/lib/bundler/ui.rb +73 -0
  45. data/lib/bundler/vendor/net/http/faster.rb +27 -0
  46. data/lib/bundler/vendor/net/http/persistent.rb +464 -0
  47. data/lib/bundler/vendor/thor.rb +319 -0
  48. data/lib/bundler/vendor/thor/actions.rb +297 -0
  49. data/lib/bundler/vendor/thor/actions/create_file.rb +105 -0
  50. data/lib/bundler/vendor/thor/actions/directory.rb +93 -0
  51. data/lib/bundler/vendor/thor/actions/empty_directory.rb +134 -0
  52. data/lib/bundler/vendor/thor/actions/file_manipulation.rb +229 -0
  53. data/lib/bundler/vendor/thor/actions/inject_into_file.rb +104 -0
  54. data/lib/bundler/vendor/thor/base.rb +556 -0
  55. data/lib/bundler/vendor/thor/core_ext/file_binary_read.rb +9 -0
  56. data/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb +75 -0
  57. data/lib/bundler/vendor/thor/core_ext/ordered_hash.rb +100 -0
  58. data/lib/bundler/vendor/thor/error.rb +30 -0
  59. data/lib/bundler/vendor/thor/invocation.rb +168 -0
  60. data/lib/bundler/vendor/thor/parser.rb +4 -0
  61. data/lib/bundler/vendor/thor/parser/argument.rb +67 -0
  62. data/lib/bundler/vendor/thor/parser/arguments.rb +161 -0
  63. data/lib/bundler/vendor/thor/parser/option.rb +120 -0
  64. data/lib/bundler/vendor/thor/parser/options.rb +174 -0
  65. data/lib/bundler/vendor/thor/shell.rb +88 -0
  66. data/lib/bundler/vendor/thor/shell/basic.rb +275 -0
  67. data/lib/bundler/vendor/thor/shell/color.rb +108 -0
  68. data/lib/bundler/vendor/thor/shell/html.rb +121 -0
  69. data/lib/bundler/vendor/thor/task.rb +114 -0
  70. data/lib/bundler/vendor/thor/util.rb +229 -0
  71. data/lib/bundler/vendor/thor/version.rb +3 -0
  72. data/lib/bundler/version.rb +6 -0
  73. data/lib/bundler/vlad.rb +9 -0
  74. data/man/bundle-config.ronn +90 -0
  75. data/man/bundle-exec.ronn +111 -0
  76. data/man/bundle-install.ronn +314 -0
  77. data/man/bundle-package.ronn +59 -0
  78. data/man/bundle-update.ronn +176 -0
  79. data/man/bundle.ronn +80 -0
  80. data/man/gemfile.5.ronn +279 -0
  81. data/man/index.txt +6 -0
  82. data/spec/cache/gems_spec.rb +219 -0
  83. data/spec/cache/git_spec.rb +9 -0
  84. data/spec/cache/path_spec.rb +27 -0
  85. data/spec/cache/platform_spec.rb +57 -0
  86. data/spec/install/deploy_spec.rb +197 -0
  87. data/spec/install/deprecated_spec.rb +37 -0
  88. data/spec/install/gems/c_ext_spec.rb +48 -0
  89. data/spec/install/gems/dependency_api_spec.rb +85 -0
  90. data/spec/install/gems/env_spec.rb +107 -0
  91. data/spec/install/gems/flex_spec.rb +313 -0
  92. data/spec/install/gems/groups_spec.rb +245 -0
  93. data/spec/install/gems/packed_spec.rb +84 -0
  94. data/spec/install/gems/platform_spec.rb +208 -0
  95. data/spec/install/gems/resolving_spec.rb +72 -0
  96. data/spec/install/gems/simple_case_spec.rb +715 -0
  97. data/spec/install/gems/standalone_spec.rb +162 -0
  98. data/spec/install/gems/sudo_spec.rb +73 -0
  99. data/spec/install/gems/win32_spec.rb +26 -0
  100. data/spec/install/gemspec_spec.rb +108 -0
  101. data/spec/install/git_spec.rb +571 -0
  102. data/spec/install/invalid_spec.rb +17 -0
  103. data/spec/install/path_spec.rb +353 -0
  104. data/spec/install/upgrade_spec.rb +26 -0
  105. data/spec/lock/git_spec.rb +35 -0
  106. data/spec/lock/lockfile_spec.rb +683 -0
  107. data/spec/other/check_spec.rb +221 -0
  108. data/spec/other/clean_spec.rb +202 -0
  109. data/spec/other/config_spec.rb +40 -0
  110. data/spec/other/console_spec.rb +54 -0
  111. data/spec/other/exec_spec.rb +241 -0
  112. data/spec/other/ext_spec.rb +16 -0
  113. data/spec/other/gem_helper_spec.rb +128 -0
  114. data/spec/other/help_spec.rb +38 -0
  115. data/spec/other/init_spec.rb +40 -0
  116. data/spec/other/newgem_spec.rb +24 -0
  117. data/spec/other/open_spec.rb +35 -0
  118. data/spec/other/show_spec.rb +82 -0
  119. data/spec/pack/gems_spec.rb +54 -0
  120. data/spec/quality_spec.rb +58 -0
  121. data/spec/resolver/basic_spec.rb +20 -0
  122. data/spec/resolver/platform_spec.rb +82 -0
  123. data/spec/runtime/executable_spec.rb +110 -0
  124. data/spec/runtime/load_spec.rb +107 -0
  125. data/spec/runtime/platform_spec.rb +90 -0
  126. data/spec/runtime/require_spec.rb +231 -0
  127. data/spec/runtime/setup_spec.rb +688 -0
  128. data/spec/runtime/with_clean_env_spec.rb +15 -0
  129. data/spec/spec_helper.rb +85 -0
  130. data/spec/support/artifice/endpoint.rb +50 -0
  131. data/spec/support/artifice/endpoint_fallback.rb +22 -0
  132. data/spec/support/artifice/endpoint_marshal_fail.rb +11 -0
  133. data/spec/support/artifice/endpoint_redirect.rb +11 -0
  134. data/spec/support/builders.rb +574 -0
  135. data/spec/support/fakeweb/rack-1.0.0.marshal +2 -0
  136. data/spec/support/fakeweb/windows.rb +23 -0
  137. data/spec/support/helpers.rb +246 -0
  138. data/spec/support/indexes.rb +112 -0
  139. data/spec/support/matchers.rb +89 -0
  140. data/spec/support/path.rb +73 -0
  141. data/spec/support/platforms.rb +53 -0
  142. data/spec/support/ruby_ext.rb +20 -0
  143. data/spec/support/rubygems_ext.rb +35 -0
  144. data/spec/support/rubygems_hax/platform.rb +11 -0
  145. data/spec/support/sudo.rb +21 -0
  146. data/spec/update/gems_spec.rb +121 -0
  147. data/spec/update/git_spec.rb +196 -0
  148. data/spec/update/source_spec.rb +51 -0
  149. metadata +294 -0
@@ -0,0 +1,22 @@
1
+ # system crap
2
+ .DS_Store
3
+ .*.swp
4
+
5
+ # files created by running the specs
6
+ tmp
7
+
8
+ # built gems
9
+ pkg
10
+ *.gem
11
+
12
+ # rubinius bytecode
13
+ *.rbc
14
+
15
+ # output from ronn
16
+ lib/bundler/man
17
+
18
+ # output from ci_reporter
19
+ spec/reports
20
+
21
+ # Netbeans
22
+ nbproject
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm 1.9.2@bundler
@@ -0,0 +1,659 @@
1
+ ## 1.1.pre.1 (February 2, 2011)
2
+
3
+ Bugfixes:
4
+
5
+ - Compatibility with changes made by Rubygems 1.5
6
+
7
+ ## 1.1.pre (January 21, 2011)
8
+
9
+ Features:
10
+
11
+ - Add bundle clean. Removes unused gems from --path directory
12
+ - Initial Gemcutter Endpoint API work, BAI Fetching source index
13
+ - Added bundle install --standalone
14
+ - Ignore Gemfile.lock when buliding new gems
15
+ - Make it possible to override a .gemspec dependency's source in the
16
+ Gemfile
17
+
18
+ Removed:
19
+
20
+ - Removed bundle lock
21
+ - Removed bundle install <path>
22
+ - Removed bundle install --production
23
+ - Removed bundle install --disable-shared-gems
24
+
25
+ ## 1.0.10 (February 1, 2011)
26
+
27
+ Bugfixes:
28
+
29
+ - Fix a regression loading YAML gemspecs from :git and :path gems
30
+ - Requires, namespaces, etc. to work with changes in Rubygems 1.5
31
+
32
+ ## 1.0.9 (January 19, 2011)
33
+
34
+ Bugfixes:
35
+
36
+ - Fix a bug where Bundler.require could remove gems from the load
37
+ path. In Rails apps with a default application.rb, this removed
38
+ all gems in groups other than :default and Rails.env
39
+
40
+ ## 1.0.8 (January 18, 2011)
41
+
42
+ Features:
43
+
44
+ - Allow overriding gemspec() deps with :git deps
45
+ - Add --local option to `bundle update`
46
+ - Ignore Gemfile.lock in newly generated gems
47
+ - Use `less` as help pager instead of `more`
48
+ - Run `bundle exec rake` instead of `rake` in Capistrano tasks
49
+
50
+ Bugfixes:
51
+
52
+ - Fix --no-cache option for `bundle install`
53
+ - Allow Vlad deploys to work without Capistrano gem installed
54
+ - Fix group arguments to `bundle console`
55
+ - Allow groups to be loaded even if other groups were loaded
56
+ - Evaluate gemspec() gemspecs in their directory not the cwd
57
+ - Count on Rake to chdir to the right place in GemHelper
58
+ - Change Pathnames to Strings for MacRuby
59
+ - Check git process exit status correctly
60
+ - Fix some warnings in 1.9.3-trunk (thanks tenderlove)
61
+
62
+ ## 1.0.7 (November 17, 2010)
63
+
64
+ Bugfixes:
65
+
66
+ - Remove Bundler version from the lockfile because it broke
67
+ backwards compatibility with 1.0.0-1.0.5. Sorry. :(
68
+
69
+ ## 1.0.6 (November 16, 2010)
70
+
71
+ Bugfixes:
72
+
73
+ - Fix regression in `update` that caused long/wrong results
74
+ - Allow git gems on other platforms while installing (#579)
75
+
76
+ Features:
77
+
78
+ - Speed up `install` command using various optimizations
79
+ - Significantly increase performance of resolver
80
+ - Use upcoming Rubygems performance improvements (@tmm1)
81
+ - Warn if the lockfile was generated by a newer version
82
+ - Set generated gems' homepage to "", so Rubygems will warn
83
+
84
+ ## 1.0.5 (November 13, 2010)
85
+
86
+ Bugfixes:
87
+
88
+ - Fix regression disabling all operations that employ sudo
89
+
90
+ ## 1.0.4 (November 12, 2010)
91
+
92
+ Bugfixes:
93
+
94
+ - Expand relative :paths from Bundler.root (eg ./foogem)
95
+ - Allow git gems in --without groups while --frozen
96
+ - Allow gem :ref to be a symbol as well as a string
97
+ - Fix exception when Gemfile needs a newer Bundler version
98
+ - Explanation when the current Bundler version conflicts
99
+ - Explicit error message if Gemfile needs newer Bundler
100
+ - Ignore an empty string BUNDLE_GEMFILE
101
+ - Skeleton gemspec now works with older versions of git
102
+ - Fix shell quoting and ref fetching in GemHelper
103
+ - Disable colored output in --deployment
104
+ - Preserve line endings in lock file
105
+
106
+ Features:
107
+
108
+ - Add support for 'mingw32' platform (aka RubyInstaller)
109
+ - Large speed increase when Gemfile.lock is already present
110
+ - Huge speed increase when many (100+) system gems are present
111
+ - Significant expansion of ISSUES, man pages, and docs site
112
+ - Remove Open3 from GemHelper (now it works on Windows™®©)
113
+ - Allow setting roles in built-in cap and vlad tasks
114
+
115
+ ## 1.0.3 (October 15, 2010)
116
+
117
+ Bugfixes:
118
+
119
+ - Use bitwise or in #hash to reduce the chance of overflow
120
+ - `bundle update` now works with :git + :tag updates
121
+ - Record relative :path options in the Gemfile.lock
122
+ - :groups option on gem method in Gemfile now works
123
+ - Add #platform method and :platform option to Gemfile DSL
124
+ - --without now accepts a quoted, space-separated list
125
+ - Installing after --deployment with no lock is now possible
126
+ - Binstubs can now be symlinked
127
+ - Print warning if cache for --local install is missing gems
128
+ - Improve output when installing to a path
129
+ - The tests all pass! Yay!
130
+
131
+ ## 1.0.2 (October 2, 2010)
132
+
133
+ Bugfix:
134
+
135
+ - Actually include the man pages in the gem, so help works
136
+
137
+ ## 1.0.1 (October 1, 2010)
138
+
139
+ Features:
140
+
141
+ - Vlad deployment recipe, `require 'bundler/vlad'`
142
+ - Prettier bundle graphs
143
+ - Improved gem skeleton for `bundle gem`
144
+ - Prompt on file clashes when generating a gem
145
+ - Option to generate binary with gem skeleton
146
+ - Allow subclassing of GemHelper for custom tasks
147
+ - Chdir to gem directory during `bundle open`
148
+
149
+ Bugfixes:
150
+
151
+ - Allow gemspec requirements with a list of versions
152
+ - Accept lockfiles with windows line endings
153
+ - Respect BUNDLE_WITHOUT env var
154
+ - Allow `gem "foo", :platform => :jruby`
155
+ - Specify loaded_from path in fake gemspec
156
+ - Flesh out gem_helper tasks, raise errors correctly
157
+ - Respect RBConfig::CONFIG['ruby_install_name'] in binstubs
158
+
159
+ ## 1.0.0 (August 29, 2010)
160
+
161
+ Features:
162
+
163
+ - You can now define `:bundle_cmd` in the capistrano task
164
+
165
+ Bugfixes:
166
+
167
+ - Various bugfixes to the built-in rake helpers
168
+ - Fix a bug where shortrefs weren't unique enough and were
169
+ therfore colliding
170
+ - Fix a small bug involving checking whether a local git
171
+ clone is up to date
172
+ - Correctly handle explicit '=' dependencies with gems
173
+ pinned to a git source
174
+ - Fix an issue with Windows-generated lockfiles by reading
175
+ and writing the lockfile in binary mode
176
+ - Fix an issue with shelling out to git in Windows by
177
+ using double quotes around paths
178
+ - Detect new Rubygems sources in the Gemfile and update
179
+ the lockfile
180
+
181
+ ## 1.0.0.rc.6 (August 23, 2010)
182
+
183
+ Features:
184
+
185
+ - Much better documentation for most of the commands and Gemfile
186
+ format
187
+
188
+ Bugfixes:
189
+
190
+ - Don't attempt to create directories if they already exist
191
+ - Fix the capistrano task so that it actually runs
192
+ - Update the Gemfile template to reference rubygems.org instead
193
+ of :gemcutter
194
+ - bundle exec should exit with a non zero exit code when the gem
195
+ binary does not exist or the file is not executable.
196
+ - Expand paths in Gemfile relative to the Gemfile and not the current
197
+ working directory.
198
+
199
+ ## 1.0.0.rc.5 (August 10, 2010)
200
+
201
+ Features:
202
+
203
+ - Make the Capistrano task more concise.
204
+
205
+ Bugfixes:
206
+
207
+ - Fix a regression with determining whether or not to use sudo
208
+ - Allow using the --gemfile flag with the --deployment flag
209
+
210
+ ## 1.0.0.rc.4 (August 9, 2010)
211
+
212
+ Features:
213
+
214
+ - `bundle gem NAME` command to generate a new gem with Gemfile
215
+ - Bundle config file location can be specified by BUNDLE_APP_CONFIG
216
+ - Add --frozen to disable updating the Gemfile.lock at runtime
217
+ (default with --deployment)
218
+ - Basic Capistrano task now added as 'bundler/capistrano'
219
+
220
+ Bugfixes:
221
+
222
+ - Multiple bundler process no longer share a tmp directory
223
+ - `bundle update GEM` always updates dependencies of GEM as well
224
+ - Deleting the cache directory no longer causes errors
225
+ - Moving the bundle after installation no longer causes git errors
226
+ - Bundle path is now correctly remembered on a read-only filesystem
227
+ - Gem binaries are installed to Gem.bindir, not #{Gem.dir}/bin
228
+ - Fetch gems from vendor/cache, even without --local
229
+ - Sort lockfile by platform as well as spec
230
+
231
+ ## 1.0.0.rc.3 (August 3, 2010)
232
+
233
+ Features:
234
+
235
+ - Deprecate --production flag for --deployment, since the former
236
+ was causing confusion with the :production group
237
+ - Add --gemfile option to `bundle check`
238
+ - Reduce memory usage of `bundle install` by 2-4x
239
+ - Improve message from `bundle check` under various conditions
240
+ - Better error when a changed Gemfile conflicts with Gemfile.lock
241
+
242
+ Bugfixes:
243
+
244
+ - Create bin/ directory if it is missing, then install binstubs
245
+ - Error nicely on the edge case of a pinned gem with no spec
246
+ - Do not require gems for other platforms
247
+ - Update git sources along with the gems they contain
248
+
249
+ ## 1.0.0.rc.2 (July 29, 2010)
250
+
251
+ - `bundle install path` was causing confusion, so we now print
252
+ a clarifying warning. The preferred way to install to a path
253
+ (which will not print the warning) is
254
+ `bundle install --path path/to/install`.
255
+ - `bundle install --system` installs to the default system
256
+ location ($BUNDLE_PATH or $GEM_HOME) even if you previously
257
+ used `bundle install --path`
258
+ - completely remove `--disable-shared-gems`. If you install to
259
+ system, you will not be isolated, while if you install to
260
+ another path, you will be isolated from gems installed to
261
+ the system. This was mostly an internal option whose naming
262
+ and semantics were extremely confusing.
263
+ - Add a `--production` option to `bundle install`:
264
+ - by default, installs to `vendor/bundle`. This can be
265
+ overridden with the `--path` option
266
+ - uses `--local` if `vendor/cache` is found. This will
267
+ guarantee that Bundler does not attempt to connect to
268
+ Rubygems and will use the gems cached in `vendor/cache`
269
+ instead
270
+ - Raises an exception if a Gemfile.lock is not found
271
+ - Raises an exception if you modify your Gemfile in development
272
+ but do not check in an updated Gemfile.lock
273
+ - Fixes a bug where switching a source from Rubygems to git
274
+ would always say "the git source is not checked out" when
275
+ running `bundle install`
276
+
277
+ NOTE: We received several reports of "the git source has not
278
+ been checked out. Please run bundle install". As far as we
279
+ can tell, these problems have two possible causes:
280
+
281
+ 1. `bundle install ~/.bundle` in one user, but actually running
282
+ the application as another user. Never install gems to a
283
+ directory scoped to a user (`~` or `$HOME`) in deployment.
284
+ 2. A bug that happened when changing a gem to a git source.
285
+
286
+ To mitigate several common causes of `(1)`, please use the
287
+ new `--production` flag. This flag is simply a roll-up of
288
+ the best practices we have been encouraging people to use
289
+ for deployment.
290
+
291
+ If you want to share gems across deployments, and you use
292
+ Capistrano, symlink release_path/current/vendor/bundle to
293
+ release_path/shared/bundle. This will keep deployments
294
+ snappy while maintaining the benefits of clean, deploy-time
295
+ isolation.
296
+
297
+ ## 1.0.0.rc.1 (July 26, 2010)
298
+
299
+ - Fixed a bug with `bundle install` on multiple machines and git
300
+
301
+ ## 1.0.0.beta.10 (July 25, 2010)
302
+
303
+ - Last release before 1.0.0.rc.1
304
+ - Added :mri as a valid platform (platforms :mri { gem "ruby-debug" })
305
+ - Fix `bundle install` immediately after modifying the :submodule option
306
+ - Don't write to Gemfile.lock if nothing has changed, fixing situations
307
+ where bundle install was run with a different user than the app
308
+ itself
309
+ - Fix a bug where other platforms were being wiped on `bundle update`
310
+ - Don't ask for root password on `bundle install` if not needed
311
+ - Avoid setting `$GEM_HOME` where not needed
312
+ - First solid pass of `bundle config`
313
+ - Add build options
314
+ - `bundle config build.mysql --with-mysql-config=/path/to/config`
315
+
316
+ ## 1.0.0.beta.9 (July 21, 2010)
317
+
318
+ - Fix install failure when switching from a path to git source
319
+ - Fix `bundle exec bundle *` in a bundle with --disable-shared-gems
320
+ - Fix `bundle *` from inside a bundle with --disable-shared-gem
321
+ - Shim Gem.refresh. This is used by Unicorn
322
+ - Fix install failure when a path's dependencies changed
323
+
324
+ ## 1.0.0.beta.8 (July 20, 2010)
325
+
326
+ - Fix a Beta 7 bug involving Ruby 1.9
327
+
328
+ ## 1.0.0.beta.7 (July 20, 2010, yanked)
329
+
330
+ - Running `bundle install` twice in a row with a git source always crashed
331
+
332
+ ## 1.0.0.beta.6 (July 20, 2010, yanked)
333
+
334
+ - Create executables with bundle install --binstubs
335
+ - You can customize the location (default is app/bin) with --binstubs other/location
336
+ - Fix a bug where the Gemfile.lock would be deleted even if the update was exited
337
+ - Fix a bug where cached gems for other platforms were sometimes deleted
338
+ - Clean up output when nothing was deleted from cache (it previously said
339
+ "Removing outdated gems ...")
340
+ - Improve performance of bundle install if the git gem was already checked out,
341
+ and the revision being used already exists locally
342
+ - Fix bundle show bundler in some cases
343
+ - Fix bugs with bundle update
344
+ - Don't ever run git commands at runtime (fixes a number of common passenger issues)
345
+ - Fixes an obscure bug where switching the source of a gem could fail to correctly
346
+ change the source of its dependencies
347
+ - Support multiple version dependencies in the Gemfile
348
+ (gem "rails", ">= 3.0.0.beta1", "<= 3.0.0")
349
+ - Raise an exception for ambiguous uses of multiple declarations of the same gem
350
+ (for instance, with different versions or sources).
351
+ - Fix cases where the same dependency appeared several times in the Gemfile.lock
352
+ - Fix a bug where require errors were being swallowed during Bundler.require
353
+
354
+ ## 1.0.0.beta.1
355
+
356
+ - No `bundle lock` command. Locking happens automatically on install or update
357
+ - No .bundle/environment.rb. Require 'bundler/setup' instead.
358
+ - $BUNDLE_HOME defaults to $GEM_HOME instead of ~/.bundle
359
+ - Remove lockfiles generated by 0.9
360
+
361
+ ## 0.9.26
362
+
363
+ Features:
364
+
365
+ - error nicely on incompatible 0.10 lockfiles
366
+
367
+ ## 0.9.25 (May 3, 2010)
368
+
369
+ Bugfixes:
370
+
371
+ - explicitly coerce Pathname objects to Strings for Ruby 1.9
372
+ - fix some newline weirdness in output from install command
373
+
374
+ ## 0.9.24 (April 22, 2010)
375
+
376
+ Features:
377
+
378
+ - fetch submodules for git sources
379
+ - limit the bundled version of bundler to the same as the one installing
380
+ - force relative paths in git gemspecs to avoid raising Gem::NameTooLong
381
+ - serialize GemCache sources correctly, so locking works
382
+ - raise Bundler::GemNotFound instead of calling exit! inside library code
383
+ - Rubygems 1.3.5 compatibility for the adventurous, not supported by me :)
384
+
385
+ Bugfixes:
386
+
387
+ - don't try to regenerate environment.rb if it is read-only
388
+ - prune outdated gems with the platform "ruby"
389
+ - prune cache without errors when there are directories or non-gem files
390
+ - don't re-write environment.rb if running after it has been loaded
391
+ - do not monkeypatch Specification#load_paths twice when inside a bundle
392
+
393
+ ## 0.9.23 (April 20, 2010)
394
+
395
+ Bugfixes:
396
+
397
+ - cache command no longer prunes gems created by an older rubygems version
398
+ - cache command no longer prunes gems that are for other platforms
399
+
400
+ ## 0.9.22 (April 20, 2010)
401
+
402
+ Features:
403
+
404
+ - cache command now prunes stale .gem files from vendor/cache
405
+ - init --gemspec command now generates development dependencies
406
+ - handle Polyglot's changes to Kernel#require with Bundler::ENV_LOADED (#287)
407
+ - remove .gem files generated after installing a gem from a :path (#286)
408
+ - improve install/lock messaging (#284)
409
+
410
+ Bugfixes:
411
+
412
+ - ignore cached gems that are for another platform (#288)
413
+ - install Windows gems that have no architecture set, like rcov (#277)
414
+ - exec command while locked now includes the bundler lib in $LOAD_PATH (#293)
415
+ - fix the `rake install` task
416
+ - add GemspecError so it can be raised without (further) error (#292)
417
+ - create a parent directory before cloning for git 1.5 compatibility (#285)
418
+
419
+ ## 0.9.21 (April 16, 2010)
420
+
421
+ Bugfixes:
422
+
423
+ - don't raise 'omg wtf' when lockfile is outdated
424
+
425
+ ## 0.9.20 (April 15, 2010)
426
+
427
+ Features:
428
+
429
+ - load YAML format gemspecs
430
+ - no backtraces when calling Bundler.setup if gems are missing
431
+ - no backtraces when trying to exec a file without the executable bit
432
+
433
+ Bugfixes:
434
+
435
+ - fix infinite recursion in Bundler.setup after loading a bundled Bundler gem
436
+ - request install instead of lock when env.rb is out of sync with Gemfile.lock
437
+
438
+ ## 0.9.19 (April 12, 2010)
439
+
440
+ Features:
441
+
442
+ - suggest `bundle install --relock` when the Gemfile has changed (#272)
443
+ - source support for Rubygems servers without prerelease gem indexes (#262)
444
+
445
+ Bugfixes:
446
+
447
+ - don't set up all groups every time Bundler.setup is called while locked (#263)
448
+ - fix #full_gem_path for git gems while locked (#268)
449
+ - eval gemspecs at the top level, not inside the Bundler class (#269)
450
+
451
+
452
+ ## 0.9.18 (April 8, 2010)
453
+
454
+ Features:
455
+
456
+ - console command that runs irb with bundle (and optional group) already loaded
457
+
458
+ Bugfixes:
459
+
460
+ - Bundler.setup now fully disables system gems, even when unlocked (#266, #246)
461
+ - fixes Yard, which found plugins in Gem.source_index that it could not load
462
+ - makes behaviour of `Bundler.require` consistent between locked and unlocked loads
463
+
464
+ ## 0.9.17 (April 7, 2010)
465
+
466
+ Features:
467
+
468
+ - Bundler.require now calls Bundler.setup automatically
469
+ - Gem::Specification#add_bundler_dependencies added for gemspecs
470
+
471
+ Bugfixes:
472
+
473
+ - Gem paths are not longer duplicated while loading bundler
474
+ - exec no longer duplicates RUBYOPT if it is already set correctly
475
+
476
+ ## 0.9.16 (April 3, 2010)
477
+
478
+ Features:
479
+
480
+ - exit gracefully on INT signal
481
+ - resolver output now indicates whether remote sources were checked
482
+ - print error instead of backtrace when exec cannot find a binary (#241)
483
+
484
+ Bugfixes:
485
+
486
+ - show, check, and open commands work again while locked (oops)
487
+ - show command for git gems
488
+ - outputs branch names other than master
489
+ - gets the correct sha from the checkout
490
+ - doesn't print sha twice if :ref is set
491
+ - report errors from bundler/setup.rb without backtraces (#243)
492
+ - fix Gem::Spec#git_version to not error on unloaded specs
493
+ - improve deprecation, Gemfile, and command error messages (#242)
494
+
495
+ ## 0.9.15 (April 1, 2010)
496
+
497
+ Features:
498
+
499
+ - use the env_file if possible instead of doing a runtime resolve
500
+ - huge speedup when calling Bundler.setup while locked
501
+ - ensures bundle exec is fast while locked
502
+ - regenerates env_file if it was generated by an older version
503
+ - update cached/packed gems when you update gems via bundle install
504
+
505
+ Bugfixes:
506
+
507
+ - prep for Rubygems 1.3.7 changes
508
+ - install command now pulls git branches correctly (#211)
509
+ - raise errors on invalid options in the Gemfile
510
+
511
+ ## 0.9.14 (March 30, 2010)
512
+
513
+ Features:
514
+
515
+ - install command output vastly improved
516
+ - installation message now accurate, with 'using' and 'installing'
517
+ - bundler gems no longer listed as 'system gems'
518
+ - show command output now includes sha and branch name for git gems
519
+ - init command now takes --gemspec option for bootstrapping gem Gemfiles
520
+ - Bundler.with_clean_env for shelling out to ruby scripts
521
+ - show command now aliased as 'list'
522
+ - VISUAL env var respected for GUI editors
523
+
524
+ Bugfixes:
525
+
526
+ - exec command now finds binaries from gems with no gemspec
527
+ - note source of Gemfile resolver errors
528
+ - don't blow up if git urls are changed
529
+
530
+ ## 0.9.13 (March 23, 2010)
531
+
532
+ Bugfixes:
533
+
534
+ - exec command now finds binaries from gems installed via :path
535
+ - gem dependencies are pulled in even if their type is nil
536
+ - paths with spaces have double-quotes to work on Windows
537
+ - set GEM_PATH in environment.rb so generators work with Rails 2
538
+
539
+ ## 0.9.12 (March 17, 2010)
540
+
541
+ - refactoring, internal cleanup, more solid specs
542
+
543
+ Features:
544
+
545
+ - check command takes a --without option
546
+ - check command exits 1 if the check fails
547
+
548
+ Bugfixes:
549
+
550
+ - perform a topological sort on resolved gems (#191)
551
+ - gems from git work even when paths or repos have spaces (#196)
552
+ - Specification#loaded_from returns a String, like Gem::Specification (#197)
553
+ - specs eval from inside the gem directory, even when locked
554
+ - virtual gemspecs are now saved in environment.rb for use when loading
555
+ - unify the Installer's local index and the runtime index (#204)
556
+
557
+ ## 0.9.11 (March 9, 2010)
558
+
559
+ - added roadmap with future development plans
560
+
561
+ Features:
562
+
563
+ - install command can take the path to the gemfile with --gemfile (#125)
564
+ - unknown command line options are now rejected (#163)
565
+ - exec command hugely sped up while locked (#177)
566
+ - show command prints the install path if you pass it a gem name (#148)
567
+ - open command edits an installed gem with $EDITOR (#148)
568
+ - Gemfile allows assigning an array of groups to a gem (#114)
569
+ - Gemfile allows :tag option on :git sources
570
+ - improve backtraces when a gemspec is invalid
571
+ - improve performance by installing gems from the cache if present
572
+
573
+ Bugfixes:
574
+
575
+ - normalize parameters to Bundler.require (#153)
576
+ - check now checks installed gems rather than cached gems (#162)
577
+ - don't update the gem index when installing after locking (#169)
578
+ - bundle parenthesises arguments for 1.8.6 (#179)
579
+ - gems can now be assigned to multiple groups without problems (#135)
580
+ - fix the warning when building extensions for a gem from git with Rubygems 1.3.6
581
+ - fix a Dependency.to_yaml error due to accidentally including sources and groups
582
+ - don't reinstall packed gems
583
+ - fix gems with git sources that are private repositories
584
+
585
+ ## 0.9.10 (March 1, 2010)
586
+
587
+ - depends on Rubygems 1.3.6
588
+
589
+ Bugfixes:
590
+
591
+ - support locking after install --without
592
+ - don't reinstall gems from the cache if they're already in the bundle
593
+ - fixes for Ruby 1.8.7 and 1.9
594
+
595
+ ## 0.9.9 (February 25, 2010)
596
+
597
+ Bugfixes:
598
+
599
+ - don't die if GEM_HOME is an empty string
600
+ - fixes for Ruby 1.8.6 and 1.9
601
+
602
+ ## 0.9.8 (February 23, 2010)
603
+
604
+ Features:
605
+
606
+ - pack command which both caches and locks
607
+ - descriptive error if a cached gem is missing
608
+ - remember the --without option after installing
609
+ - expand paths given in the Gemfile via the :path option
610
+ - add block syntax to the git and group options in the Gemfile
611
+ - support gems with extensions that don't admit they depend on rake
612
+ - generate gems using gem build gemspec so git gems can have native extensions
613
+ - print a useful warning if building a gem fails
614
+ - allow manual configuration via BUNDLE_PATH
615
+
616
+ Bugfixes:
617
+
618
+ - eval gemspecs in the gem directory so relative paths work
619
+ - make default spec for git sources valid
620
+ - don't reinstall gems that are already packed
621
+
622
+ ## 0.9.7 (February 17, 2010)
623
+
624
+ Bugfixes:
625
+
626
+ - don't say that a gem from an excluded group is "installing"
627
+ - improve crippling rubygems in locked scenarios
628
+
629
+ ## 0.9.6 (February 16, 2010)
630
+
631
+ Features:
632
+
633
+ - allow String group names
634
+ - a number of improvements in the documentation and error messages
635
+
636
+ Bugfixes:
637
+
638
+ - set SourceIndex#spec_dirs to solve a problem involving Rails 2.3 in unlocked mode
639
+ - ensure Rubygems is fully loaded in Ruby 1.9 before patching it
640
+ - fix `bundle install` for a locked app without a .bundle directory
641
+ - require gems in the order that the resolver determines
642
+ - make the tests platform agnostic so we can confirm that they're green on JRuby
643
+ - fixes for Ruby 1.9
644
+
645
+ ## 0.9.5 (Feburary 12, 2010)
646
+
647
+ Features:
648
+
649
+ - added support for :path => "relative/path"
650
+ - added support for older versions of git
651
+ - added `bundle install --disable-shared-gems`
652
+ - Bundler.require fails silently if a library does not have a file on the load path with its name
653
+ - Basic support for multiple rubies by namespacing the default bundle path using the version and engine
654
+
655
+ Bugfixes:
656
+
657
+ - if the bundle is locked and .bundle/environment.rb is not present when Bundler.setup is called, generate it
658
+ - same if it's not present with `bundle check`
659
+ - same if it's not present with `bundle install`