summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Arko <mail@arko.net>2015-06-22 16:18:21 -0700
committerAndré Arko <mail@arko.net>2015-06-22 16:18:21 -0700
commitc2ceceb08b0f53967d994219e57408efdecc04b0 (patch)
tree939a9d18ef13c855bbf434a9d8837a979ea6f7cb
parentbe432f5bceacf37e08d4dc8e3a727717260f18f7 (diff)
parent60caeafdd7cbffa1700d12d82f90287b508fe0e6 (diff)
downloadbundler-c2ceceb08b0f53967d994219e57408efdecc04b0.tar.gz
Merge pull request #3776 from bundler/seg-preserve-bundled-with
[Definition] Preserve BUNDLED WITH section in #to_lock
-rw-r--r--lib/bundler/definition.rb4
-rw-r--r--spec/lock/lockfile_spec.rb40
2 files changed, 44 insertions, 0 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb
index 70e2efda55..6cd715234c 100644
--- a/lib/bundler/definition.rb
+++ b/lib/bundler/definition.rb
@@ -293,6 +293,10 @@ module Bundler
handled << dep.name
end
+ if @lockfile_contents =~ /^BUNDLED WITH[\r]?\n(\s{2,}#{Gem::Version::VERSION_PATTERN})[\r]?\n\Z/
+ out << "\nBUNDLED WITH\n" << $1 << "\n"
+ end
+
out
end
diff --git a/spec/lock/lockfile_spec.rb b/spec/lock/lockfile_spec.rb
index 364b97181a..1b6e9ffded 100644
--- a/spec/lock/lockfile_spec.rb
+++ b/spec/lock/lockfile_spec.rb
@@ -923,4 +923,44 @@ describe "the lockfile format" do
expect(error).to match(/your Gemfile.lock contains merge conflicts/i)
expect(error).to match(/git checkout HEAD -- Gemfile.lock/i)
end
+
+ it "preserves a post-1.10 BUNDLED WITH section" do
+ lockfile <<-L
+ GEM
+ remote: file:#{gem_repo1}/
+ specs:
+ rack (1.0.0)
+
+ PLATFORMS
+ #{generic(Gem::Platform.local)}
+
+ DEPENDENCIES
+ rack
+
+ BUNDLED WITH
+ 1.10.4
+ L
+
+ install_gemfile <<-G
+ source "file://#{gem_repo1}"
+
+ gem "rack"
+ G
+
+ lockfile_should_be <<-L
+ GEM
+ remote: file:#{gem_repo1}/
+ specs:
+ rack (1.0.0)
+
+ PLATFORMS
+ #{generic(Gem::Platform.local)}
+
+ DEPENDENCIES
+ rack
+
+ BUNDLED WITH
+ 1.10.4
+ L
+ end
end