down. translated.

@spec.get_opts.each do |name, opt| options[name] = opt.value counts[name] = opt.count end @spec.get_args.each do |name, arg| args << arg.value named[name] = arg.value end args.flatten! args += trailing @report =, named, trailing, options, counts) if @report.opt(:help) self.print_usage() end unless @spec.get_args.values.all? {|arg| arg.fulfilled? } raise InterfaceError, "Required argument '#{name.upcase}' was not given." end if @spec.trailing_error && !@report.trailing.empty? raise InterfaceError, "Error: got trailing argument(s): #{trailing.join


Updated ๐Ÿ“œ scroll to v0.5.2. This is includes fixes and improvments for Windows. sync backends now work under windows, using robocopy behind the scenes to replace rsync. A bug related to handling Windows paths was also fixed. Finally, all backends were normalized such that they record and restore the absolute paths of backup targets.

For more information about ghast.js, see the README.


  • robocopy support
  • sync backends for Windows
  • Fixed Windows path handling
  • Made path handling consistent accross all backends