I had the same problem of syncing data from s3 to a local filesystem where the data *never* was before: The missing directories are simply not created on the fly.
To fix this insert the following in the require section:
require 'ftools'
And add File.makedirs() as follows:
def updateFrom(fromNode)
if fromNode.respond_to?(:to_stream)
fName = @path + '.s3syncTemp'
File.makedirs(File.dirname(@path)) # This is the important part!
[...]
end
Perhapes, this could make it to the next release, please?
Best regards, Jan