lib/rsync/result.rb in rsync-0.0.4 vs lib/rsync/result.rb in rsync-0.0.5
- old
+ new
@@ -1,67 +1,53 @@
require 'rsync/change'
module Rsync
# The result of a sync.
class Result
+ # Error messages by exit code
+ ERROR_CODES = {
+ "0" => "Success",
+ "1" => "Syntax or usage error",
+ "2" => "Protocol incompatibility",
+ "3" => "Errors selecting input/output files, dirs",
+ "4" => "Requested action not supported: an attempt was made to manipulate 64-bit files on a platform that can not support them; or an option was specified that is supported by the client and not by the server.",
+ "5" => "Error starting client-server protocol",
+ "6" => "Daemon unable to append to log-file",
+ "10" => "Error in socket I/O",
+ "11" => "Error in file I/O",
+ "12" => "Error in rsync protocol data stream",
+ "13" => "Errors with program diagnostics",
+ "14" => "Error in IPC code",
+ "20" => "Received SIGUSR1 or SIGINT",
+ "21" => "Some error returned by waitpid()",
+ "22" => "Error allocating core memory buffers",
+ "23" => "Partial transfer due to error",
+ "24" => "Partial transfer due to vanished source files",
+ "25" => "The --max-delete limit stopped deletions",
+ "30" => "Timeout in data send/receive",
+ "35" => "Timeout waiting for daemon connection"
+ }
+
# @!visibility private
def initialize(raw, exitcode)
@raw = raw
@exitcode = exitcode
end
# Whether the rsync job was run without errors.
# @return {Boolean}
def success?
- @exitcode.to_i == 0
+ @exitcode == 0
end
# The error message based on exit code.
# @return {String}
def error
- case @exitcode.to_i
- when 0
- "Success"
- when 1
- "Syntax or usage error"
- when 2
- "Protocol incompatibility"
- when 3
- "Errors selecting input/output files, dirs"
- when 4
- "Requested action not supported: an attempt was made to manipulate 64-bit files on a platform that can not support them; or an option was specified that is supported by the client and not by the server."
- when 5
- "Error starting client-server protocol"
- when 6
- "Daemon unable to append to log-file"
- when 10
- "Error in socket I/O"
- when 11
- "Error in file I/O"
- when 12
- "Error in rsync protocol data stream"
- when 13
- "Errors with program diagnostics"
- when 14
- "Error in IPC code"
- when 20
- "Received SIGUSR1 or SIGINT"
- when 21
- "Some error returned by waitpid()"
- when 22
- "Error allocating core memory buffers"
- when 23
- "Partial transfer due to error"
- when 24
- "Partial transfer due to vanished source files"
- when 25
- "The --max-delete limit stopped deletions"
- when 30
- "Timeout in data send/receive"
- when 35
- "Timeout waiting for daemon connection"
- else
- "Unknown Error"
+ error_key = @exitcode.to_s
+ if ERROR_CODES.has_key? error_key
+ ERROR_CODES[error_key]
+ else
+ "Unknown Error"
end
end
# List of changes made during this run.
#