Sha256: 67fa4504be1c9336cbb550e07db2001da45758b0122fd9f2ca4a9bb23710c372
Contents?: true
Size: 1.32 KB
Versions: 1
Compression:
Stored size: 1.32 KB
Contents
class Vlad::Git VERSION = "2.0.0" set :source, Vlad::Git.new set :git_cmd, "git" ## # Returns the command that will check out +revision+ from the # repository into directory +destination+. +revision+ can be any # SHA1 or equivalent (e.g. branch, tag, etc...) def checkout(revision, destination) destination = File.join(destination, 'repo') revision = 'HEAD' if revision =~ /head/i [ "rm -rf #{destination}", "#{git_cmd} clone #{repository} #{destination}", "cd #{destination}", "#{git_cmd} checkout -f -b deployed-#{revision} #{revision}", "cd -" ].join(" && ") end ## # Returns the command that will export +revision+ from the current directory # into the directory +destination+. # Expects to be run from +scm_path+ after Vlad::Git#checkout def export(revision, destination) revision = 'HEAD' if revision =~ /head/i revision = "deployed-#{revision}" [ "mkdir -p #{destination}", "cd repo", "#{git_cmd} archive --format=tar #{revision} | (cd #{destination} && tar xf -)", "cd -", "cd .." ].join(" && ") end ## # Returns a command that maps human-friendly revision identifier +revision+ # into a git SHA1. def revision(revision) revision = 'HEAD' if revision =~ /head/i "`#{git_cmd} rev-parse #{revision}`" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vlad-git-2.0.0 | lib/vlad/git.rb |