module Luban::Deployment::Application::Repository::SCM::Git

Public Instance Methods

available?() click to toggle source
# File lib/luban/deployment/cli/application/scm/git.rb, line 9
def available?
  test(git_cmd, 'ls-remote --heads', from)
end
branch?() click to toggle source
# File lib/luban/deployment/cli/application/scm/git.rb, line 38
def branch?
  within(clone_path) { test(git_cmd, :"show-ref", "--quite --verify refs/heads/#{version}") }
end
clone() click to toggle source
# File lib/luban/deployment/cli/application/scm/git.rb, line 26
def clone
  test(git_cmd, :clone, '--mirror', from, clone_path)
end
cloned?() click to toggle source
# File lib/luban/deployment/cli/application/scm/git.rb, line 13
def cloned?
  file?(clone_path.join("HEAD")) and from == remote_origin
end
commit?() click to toggle source
# File lib/luban/deployment/cli/application/scm/git.rb, line 46
def commit?
  version =~ /^\h+/ and !revision.nil?
end
fetch_revision() click to toggle source
# File lib/luban/deployment/cli/application/scm/git.rb, line 21
def fetch_revision
  within(clone_path) { capture(git_cmd, "rev-parse --short=#{rev_size} #{version} 2>/dev/null") }
  #within(clone_path) { capture(git_cmd, "rev-list --max-count=1 --abbrev-commit --abbrev=rev_size #{version}") }
end
git_cmd() click to toggle source
# File lib/luban/deployment/cli/application/scm/git.rb, line 7
def git_cmd; :git; end
release() click to toggle source
# File lib/luban/deployment/cli/application/scm/git.rb, line 34
def release
  within(clone_path) { test(git_cmd, :archive, version, "--format=#{release_package_extname} --prefix=#{release_tag}/ -o #{release_package_path}") }
end
release_tag() click to toggle source
Calls superclass method
# File lib/luban/deployment/cli/application/scm/git.rb, line 50
def release_tag
  @release_tag ||= commit? ? "ref-#{revision}" : super
end
remote_origin() click to toggle source
# File lib/luban/deployment/cli/application/scm/git.rb, line 17
def remote_origin
  within(clone_path) { capture(git_cmd, "config --get remote.origin.url 2>/dev/null") }
end
tag?() click to toggle source
# File lib/luban/deployment/cli/application/scm/git.rb, line 42
def tag?
  within(clone_path) {test(git_cmd, :"show-ref", "--quite --verify refs/tags/#{version}") }
end
update() click to toggle source
# File lib/luban/deployment/cli/application/scm/git.rb, line 30
def update
  within(clone_path) { test(git_cmd, :remote, :update, "--prune") }
end