diff options
author | Carl Lerche <carllerche@mac.com> | 2010-07-06 17:27:50 -0700 |
---|---|---|
committer | Carl Lerche <carllerche@mac.com> | 2010-07-06 17:29:15 -0700 |
commit | c0e5a90023651d2b97d42e0c64c13f5aff27bc1e (patch) | |
tree | ad8fbe021cc6ab53565504aba8a3ce0890dc1641 /lib/bundler/spec_set.rb | |
parent | d0db5869bb3489eda49fbbe901c0455e43669fcf (diff) | |
download | bundler-c0e5a90023651d2b97d42e0c64c13f5aff27bc1e.tar.gz |
Don't add duplicate gemspecs to the lock file
Diffstat (limited to 'lib/bundler/spec_set.rb')
-rw-r--r-- | lib/bundler/spec_set.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/bundler/spec_set.rb b/lib/bundler/spec_set.rb index 36faf1a6d5..263f56fb4b 100644 --- a/lib/bundler/spec_set.rb +++ b/lib/bundler/spec_set.rb @@ -92,7 +92,12 @@ module Bundler end def merge(set) - SpecSet.new(sorted + set.to_a) + arr = sorted.dup + set.each do |s| + next if arr.any? { |s2| s2.name == s.name && s2.version == s.version && s2.platform == s.platform } + arr << s + end + SpecSet.new(arr) end private @@ -126,4 +131,4 @@ module Bundler end end end -end
\ No newline at end of file +end |