Sha256: 8f63f7d6dc3ab1369ec12f51ffe9eff4dcb61b7f9fbf561728786888611134f5
Contents?: true
Size: 812 Bytes
Versions: 8
Compression:
Stored size: 812 Bytes
Contents
require 'terminal' class Robocopy def initialize(tools_dir) @tools_dir = tools_dir end def execute(source, destination, parameters='/MIR /R:5 /W:5 /NP /NFL /NDL') print_heading 'Copying' status = run_command("#{@tools_dir}/robocopy.exe #{source} #{destination} /XD .svn #{parameters}") failed = check_status(status) if failed raise RobocopyException, "Robocopy failed with status code #{status}. Please see http://bit.ly/dzegQL for what it means.".red end end private def check_status(status) fail = true [0, 1, 2, 3, 11].each do |code| if status == code fail = false end end fail end def run_command(text) sh(text) do |ok, result| return result.exitstatus end end end class RobocopyException < StandardError end
Version data entries
8 entries across 8 versions & 1 rubygems