dbox
dbox copied to clipboard
pull won't get all changes always correctly
Somehow we now have the issue that the gem won't get all changes and therefore files are missing.
The last entry in the log is
D, [2014-10-07T10:39:05.110118 #2466] DEBUG -- : Executing changes:
(nothing after this but before this life everything seems to be okay) and the returned result is empty:
:002 > Dbox.pull ...
=> [{:created=>[], :deleted=>[], :updated=>[], :failed=>[]}]
Is there any recommended way of investigate errors like this (it is not possible for us to give out credentials with the data causing this :crying_cat_face:)?
UPDATE:
It seems that the issue is an case error.
I removed the complete local dropbox folder & tmp files and pulled again. The first time i will get an exception:
Errno::ENOENT: No such file or directory @ rb_file_s_mtime - /home/www-data/dropbox/Assets/hi/COVER
from [..]/vendor/bundle/ruby/2.1.0/gems/dbox-0.8.2/lib/dbox/syncer.rb:85:in `mtime'
from [..]/vendor/bundle/ruby/2.1.0/gems/dbox-0.8.2/lib/dbox/syncer.rb:85:in `saving_timestamp'
from [..]/vendor/bundle/ruby/2.1.0/gems/dbox-0.8.2/lib/dbox/syncer.rb:93:in `saving_parent_timestamp'
from [..]/vendor/bundle/ruby/2.1.0/gems/dbox-0.8.2/lib/dbox/syncer.rb:339:in `create_dir'
from [..]/vendor/bundle/ruby/2.1.0/gems/dbox-0.8.2/lib/dbox/syncer.rb:192:in `block in execute'
from [..]/vendor/bundle/ruby/2.1.0/gems/dbox-0.8.2/lib/dbox/syncer.rb:186:in `each'
from [..]/vendor/bundle/ruby/2.1.0/gems/dbox-0.8.2/lib/dbox/syncer.rb:186:in `execute'
from [..]/vendor/bundle/ruby/2.1.0/gems/dbox-0.8.2/lib/dbox/syncer.rb:15:in `clone'
from [..]/vendor/bundle/ruby/2.1.0/gems/dbox-0.8.2/lib/dbox.rb:39:in `clone'
The folder Assets/hi/COVER
doesn't exist but there is a folder named Assets/Hi/COVER
.
If I execute the pull
a second time, no changes will be aggregated.
Maybe this helps a bit:
I've commented out the saving_parent_timestamp
block on line 340 in syncer.rb to see what would happen if it just tried creating the dir without updating timestamp. This resulted in the 'Oops, you have multiple files with the same case.' RuntimeError
...