module Escualo::Remote
Public Class Methods
attach(session, dir, name, session_options)
click to toggle source
# File lib/escualo/remote.rb, line 3 def self.attach(session, dir, name, session_options) remote_name = "escualo-#{name}-#{session_options.hostname}" remote_url = remote_git_url(name, session_options) session.tell! "cd #{dir} && git remote add #{remote_name} #{remote_url}" end
clone(session, dir, repo, options)
click to toggle source
# File lib/escualo/remote.rb, line 17 def self.clone(session, dir, repo, options) repo_url = "https://github.com/#{repo}" session.tell! "git clone #{repo_url} #{dir}" if options.tag session.tell! "cd #{dir} && git checkout #{options.tag}" end end
push(session, dir)
click to toggle source
# File lib/escualo/remote.rb, line 32 def self.push(session, dir) session.tell! "cd #{dir} && for r in $(git remote show | grep escualo-); do git push $r HEAD; done" end
remote_git_url(name, session_options)
click to toggle source
# File lib/escualo/remote.rb, line 9 def self.remote_git_url(name, session_options) if session_options.local || session_options.dockerized "/var/repo/#{name}.git" else "ssh://#{session_options.username}@#{session_options.hostname}:#{session_options.ssh_options[:port]}/var/repo/#{name}.git" end end
remotes(session, dir)
click to toggle source
# File lib/escualo/remote.rb, line 25 def self.remotes(session, dir) session .ask("cd #{dir} && git remote show") .split .select { |it| it.start_with? 'escualo-' } end