class Coppy::Steps::Git
Public Class Methods
new(&block)
click to toggle source
# File lib/coppy/steps/git.rb, line 15 def initialize(&block) @manifesto = Manifesto.load(self.class.dsl, &block) end
Public Instance Methods
call(env)
click to toggle source
# File lib/coppy/steps/git.rb, line 19 def call(env) source_hash = Dir.chdir(env.source) { `git rev-parse HEAD` } source_origin = Dir.chdir(env.source) do `git remote -v`.each_line .map {|line| line.split("\t") } .find {|remote, src, fetch_or_push| remote == "origin" && fetch_or_push == "fetch" } end Dir.chdir(env.target) do system "git init", out: File::NULL git_env = Environment.new( source: Environment.new( hash: source_hash, remote: source_origin ) ) @manifesto.execute!(git_env) end end