Sha256: e7e4b72f672eb0c3250c9484546a5a6979402b91cfc437cf475fa992b61455d9
Contents?: true
Size: 1.49 KB
Versions: 4
Compression:
Stored size: 1.49 KB
Contents
require "open3" class Jets::CLI::Git class Push < Jets::CLI::Base def initialize(options = {}) super @args = options[:args] || [] end def run args = ["push"] + @args puts "=> git #{args.join(" ")}" IO.popen(["git", *args]) do |io| io.each do |line| puts line end end return unless $?.success? command = [env_vars, "jets ci:logs"].compact.join(" ") Kernel.exec(command) end def env_vars env_vars = Jets.project.config.git.push.branch[push_branch] return unless env_vars # IE: branch_name = {JETS_ENV: "xxx", AWS_PROFILE: "xxx"} env_vars.map do |k, v| "#{k}=#{v}" end.sort.join(" ") end # man git-push # git push # git push origin # git push origin : # git push origin master # git push origin HEAD # git push mothership master:satellite/master dev:satellite/dev # git push origin HEAD:master # git push origin master:refs/heads/experimental # git push origin :experimental # git push origin +dev:master def push_branch args = @args.reject { |arg| arg.start_with?("-") } # remove options case args.size when 0 local.git_default_branch when 1 local.git_current_branch when 2 args.last else raise "ERROR: Too many arguments. Usage: jets git:push [REMOTE] [BRANCH]" end end def local Jets::Git::Local.new end memoize :local end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
jets-6.0.5 | lib/jets/cli/git/push.rb |
jets-6.0.4 | lib/jets/cli/git/push.rb |
jets-6.0.3 | lib/jets/cli/git/push.rb |
jets-6.0.2 | lib/jets/cli/git/push.rb |