honkster-bundler 1.1.pre

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