module Luban::Deployment::Application::Repository::SCM::Rsync
Public Instance Methods
available?()
click to toggle source
# File lib/luban/deployment/cli/application/scm/rsync.rb, line 14 def available?; directory?(from); end
clone()
click to toggle source
# File lib/luban/deployment/cli/application/scm/rsync.rb, line 26 def clone test(rsync_cmd, "-acz", "#{from}/", clone_path) end
cloned?()
click to toggle source
# File lib/luban/deployment/cli/application/scm/rsync.rb, line 16 def cloned? directory?(clone_path) and test("[ \"$(ls -A #{clone_path})\" ]") # Not empty end
fetch_revision()
click to toggle source
# File lib/luban/deployment/cli/application/scm/rsync.rb, line 21 def fetch_revision # Use MD5 as the revision capture(:tar, "-cf - #{clone_path} 2>/dev/null | $(type -p md5sum md5 | head -1)")[/^\h+/][0, rev_size] end
init()
click to toggle source
Calls superclass method
# File lib/luban/deployment/cli/application/scm/rsync.rb, line 7 def init super @from = Pathname.new(@from) unless from.is_a?(Pathname) end
release()
click to toggle source
# File lib/luban/deployment/cli/application/scm/rsync.rb, line 34 def release within(releases_path) do assure_dirs(release_tag) execute(:tar, "-C #{clone_path} -cf - . | tar -C #{release_tag} -xf -") execute(:tar, "-czf", release_package_path, release_tag) rmdir(release_tag) end end
rsync_cmd()
click to toggle source
# File lib/luban/deployment/cli/application/scm/rsync.rb, line 12 def rsync_cmd; :rsync; end
update()
click to toggle source
# File lib/luban/deployment/cli/application/scm/rsync.rb, line 30 def update test(rsync_cmd, "-acz", "--delete", "#{from}/", clone_path) end