bundler_package_git 1.1.pre.1

Sign up to get free protection for your applications and to get access to all the features.
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`