Skip to content

Commit

Permalink
'rake gemfiles' needs binary file read to detect existing EOL
Browse files Browse the repository at this point in the history
  • Loading branch information
robertwahler committed Aug 17, 2011
1 parent c569be9 commit fa1a4ea
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,23 @@ task :gemfiles do
files = `git ls-files`

filename = File.join(File.dirname(__FILE__), '.gemfiles')
cached_files = File.exists?(filename) ? File.open(filename, "r") {|f| f.read} : nil
cached_files = nil
if File.exists?(filename)
puts ".gemfiles exists, reading..."
cached_files = File.open(filename, "rb") {|f| f.read}
end

# maintain EOL
files.gsub!(/\n/, "\r\n") if cached_files && cached_files.match("\r\n")
if cached_files && cached_files.match("\r\n")
puts ".gemfiles using DOS EOL"
files.gsub!(/\n/, "\r\n")
end

if cached_files != files
puts "Updating .gemfiles"
puts ".gemfiles updating"
File.open(filename, 'wb') {|f| f.write(files)}
else
puts ".gemfiles update not required"
end

raise "unable to process gemfiles" unless files
raise "unable to process .gemfiles" unless files
end

0 comments on commit fa1a4ea

Please sign in to comment.