halostatue / diff-lcs

Generate difference sets between Ruby sequences.
http://halostatue.github.com/diff-lcs
Other
290 stars 57 forks source link

version 1.2.0 causes rspec version fallback #14

Closed kevinansfield closed 11 years ago

kevinansfield commented 11 years ago

Just noticed that when running bundle update, the diff-lcs version changed from 1.1.3 -> 1.2.0 which then forced rspec version to fallback from 2.12.2 -> 2.0.1

halostatue commented 11 years ago

I'm not quite sure what you're seeing. @petergoldstein committed a change to rspec-expectations HEAD https://github.com/rspec/rspec-expectations/commit/feba881729ec4edd9b9bd9b4716df36b34760efc (see https://github.com/rspec/rspec-expectations/pull/200) that adds compatibility with diff-lcs 1.2.

I ran bundle update and it still grabs 2.12.2 for me.

kevinansfield commented 11 years ago

This is my Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.11'

gem 'sqlite3'

gem 'jquery-rails'
gem 'ember-rails', github: 'emberjs/ember-rails'
gem 'bourbon'
gem 'devise'
gem 'haml-rails'
gem 'simple_form'

gem 'diff-lcs', '1.1.3' # hardcoded due to rspec downgrade issue with 1.2.0

group :assets do
  gem 'sass-rails'
  gem 'coffee-rails'

  gem 'uglifier'

  gem 'bootstrap-sass'
end

group :development do
  gem 'letter_opener'
  gem 'annotate'

  gem 'jazz_hands'

  gem 'better_errors'
  gem 'binding_of_caller'
end

group :test, :development do
  gem 'rspec-rails'
end

group :test do
  gem 'factory_girl_rails'
end

If I take out the gem 'diff-lcs', '1.1.3' line and run bundle update, version 1.2.0 is pulled in but all of the rspec gems are downgraded to 2.0.1 versions.

kevinansfield commented 11 years ago

Also, if I remove the diff-lcs line and specify gem 'rspec', '~> 2.1' in my Gemfile, then diff-lcs is downgraded to version 1.1.3 by bundler.

halostatue commented 11 years ago

Unfortunately, as you can see with rspec/rspec-expectations#205 that I just opened, this is something that I can't fix in diff-lcs unless I were to release a 1.2 as 1.1.4 (and I'm not sure that's safe).

The problem boils down to the fact that 2.12.1 has a fixed version of ~> 1.1.3; the earliest version that satisfies a diff-lcs version of ~> 1.2 is version 2.0.1 (and that's mostly a good thing—the '>= 1.1.2' in 2.0.1 is dangerous, which is why I have put a similar suggested limitation in rspec/rspec-expectations#204).

I hope we will see this resolved by a point-release of rspec (at least rspec/rspec-expectations) soon.

halostatue commented 11 years ago

@kevinansfield there was a new release of rspec (2.13) today that should resolve this issue for you.