Sha256: 455a6a9d0d05cb9d4b1c719535f1cbf0988758e6131bcc6abbcd2f077ffec782

Contents?: true

Size: 1.39 KB

Versions: 53

Compression:

Stored size: 1.39 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

        if (File.exists?(sourcePath))
            dest = "#{gitRoot}/config#{Pathname.new(sourcePath).realpath}"
        else
            dest = "#{gitRoot}/config#{sourcePath}"
        end
        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, 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

53 entries across 53 versions & 1 rubygems

Version Path
canzea-0.1.50 lib/commands/config-git-commit.rb
canzea-0.1.49 lib/commands/config-git-commit.rb
canzea-0.1.48 lib/commands/config-git-commit.rb
canzea-0.1.47 lib/commands/config-git-commit.rb
canzea-0.1.46 lib/commands/config-git-commit.rb
canzea-0.1.45 lib/commands/config-git-commit.rb
canzea-0.1.44 lib/commands/config-git-commit.rb
canzea-0.1.43 lib/commands/config-git-commit.rb
canzea-0.1.42 lib/commands/config-git-commit.rb
canzea-0.1.41 lib/commands/config-git-commit.rb
canzea-0.1.40 lib/commands/config-git-commit.rb
canzea-0.1.39 lib/commands/config-git-commit.rb
canzea-0.1.38 lib/commands/config-git-commit.rb
canzea-0.1.37 lib/commands/config-git-commit.rb
canzea-0.1.36 lib/commands/config-git-commit.rb
canzea-0.1.35 lib/commands/config-git-commit.rb
canzea-0.1.34 lib/commands/config-git-commit.rb
canzea-0.1.33 lib/commands/config-git-commit.rb
canzea-0.1.32 lib/commands/config-git-commit.rb
canzea-0.1.31 lib/commands/config-git-commit.rb