Sha256: 6f8d19e465398689a3b8c5a010a1aa1196e50a8f916e78f6f897a3bc302a222f
Contents?: true
Size: 1.29 KB
Versions: 17
Compression:
Stored size: 1.29 KB
Contents
require "git" require "fileutils" require "pathname" class ConfigGitCommit def do(gitRoot, sourcePath, template, parameters = {}) # if file exists on file system and does not exist in gitRoot, then commit the "oem" file dest = "#{gitRoot}/config#{Pathname.new(sourcePath).realpath}" puts "Writing to #{dest}" if (File.exist?(dest) == false and File.exist?(sourcePath)) FileUtils.mkdir_p Pathname.new(dest).dirname FileUtils.cp sourcePath, dest puts "Recording in repo the default file first: #{sourcePath}" g = Git.init(gitRoot) g.add(:all=>true) g.commit("Original default #{sourcePath}") end if template puts "Processing template #{template}" FileUtils.mkdir_p Pathname.new(sourcePath).dirname t = Template.new t.processAndWriteToFile template, sourcePath, JSON.parse(parameters) end FileUtils.mkdir_p Pathname.new(dest).dirname FileUtils.cp sourcePath, dest g = Git.init(gitRoot) g.add(:all=>true) puts g.status.changed.size() + g.status.added.size() if (g.status.changed.size() > 0 or g.status.added.size() > 0) g.commit("Config update #{sourcePath}") end end end
Version data entries
17 entries across 17 versions & 1 rubygems